有關Express之templates
點擊上方藍字關注“小鄭搞碼事”,每天都能學到知識,搞懂一個問題!
前面幾篇我們總結過Express的路由(關於Express路由,這篇總結的很全面),Express最重要的部分中間件,Express的請求對象request(路由參數request中你至少應該掌握的4個屬性和2個方法),Express的響應對象response(舉例告訴你第二個參數response怎麼用),如果沒什麼印象的可以點開它們的鏈接在進去熟悉一下。今天我們來講Express使用的模板引擎。
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)
然後,在項目中新建一個目錄template,在這個目錄下新建兩個文件:
render.hbs
內容:<h1>This is hbs</h1>
index.jade
內容:<h1>This is jade</h1>
執行js代碼是這樣的:
當客戶端訪問:
This is hbs
當客戶端訪問:
This is jade
好了,就是這麼用的,這樣看我們就可以在不同的情況下使用不同的模板了。
三、寫在最後的總結
Express支持多種模板引擎,其中ejs,jade屬於默認支持的,也就是說使用的時候不需要註冊了,而Handlebars模板需要註冊後才能支持。個人覺得Handlebars比較好用,簡潔明瞭很容易上手,想進一步瞭解的童鞋可以到它的官網去看一下。