Expwww6662016comressI8669I44445每天都能學到知識

有關Express之templates

點擊上方藍字關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!
前面幾篇我們總結過Express的路由(關於Express路由,這篇總結的很全面),Express最重要的部分中間件,Express的請求對象request(路由參數request中你至少應該掌握的4個屬性和2個方法),Express的響應對象response(舉例告訴你第二個參數response怎麼用),如果沒什麼印象的可以點開它們的鏈接在進去熟悉一下。今天我們來講Express使用的模板引擎。
Expwww6662016comressI8669I44445每天都能學到知識
Express默認支持ejs,jade,也就是說使用這兩個模板不需要註冊引擎,只需要在package.json安裝好了就行。什麼是模板引擎註冊呢?下面看一下語法你就明白了。

一、使用模板的語法

1、app.set('view engine',xxx)

指定模板後綴名。進一步解釋:你將要使用的那個模板文件的後綴名。

2、app.engine(' ',xxx)

註冊引擎。進一步解釋:當引入的是一個第三方模板引擎,則需要使用這條語句告訴Express這是一個模板引擎。

3、app.set('views',path)

視圖模板位置。進一步解釋:這個模板放在哪個地方,path指存放路徑。如果沒有定義模板存放路徑,那麼Express會默認去views目錄下找模板文件。

4、response.render()

渲染模板。進一步解釋:這個好理解,render的第一個參數就是指定的模板,第二個參數就是傳進去的參數。

這些看起來是不是很熟悉?對的,因爲在前面總結Express其它相關內容的時候,用過模板。而上面這四條就是使用模板的常用語句。

二、同時使用多個模板引擎

這裏,用一個實例來闡述一下如何同時使用多個模板引擎。

首先需要安裝模板引擎:(package.json)
Expwww6662016comressI8669I44445每天都能學到知識
然後,在項目中新建一個目錄template,在這個目錄下新建兩個文件:

render.hbs

內容:<h1>This is hbs</h1>
index.jade

內容:<h1>This is jade</h1>
執行js代碼是這樣的:
Expwww6662016comressI8669I44445每天都能學到知識
當客戶端訪問:

http://localhost:1234/test
輸出:

This is hbs
當客戶端訪問:

http://localhost:1234/jade
輸出:

This is jade
好了,就是這麼用的,這樣看我們就可以在不同的情況下使用不同的模板了。

三、寫在最後的總結

Express支持多種模板引擎,其中ejs,jade屬於默認支持的,也就是說使用的時候不需要註冊了,而Handlebars模板需要註冊後才能支持。個人覺得Handlebars比較好用,簡潔明瞭很容易上手,想進一步瞭解的童鞋可以到它的官網去看一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章