需要在應(yīng)用中進(jìn)行如下設(shè)置才能讓 Express 渲染模板文件:
views
, 放模板文件的目錄,比如: app.set('views', './views')
view engine
, 模板引擎,比如: app.set('view engine', 'jade')
然后安裝相應(yīng)的模板引擎 npm 軟件包。
$ npm install jade --save
和 Express 兼容的模板引擎,比如 Jade,通過 res.render()
調(diào)用其導(dǎo)出方法 __express(filePath, options, callback)
渲染模板。
有一些模板引擎不遵循這種約定,Consolidate.js 能將 Node 中所有流行的模板引擎映射為這種約定,這樣就可以和 Express 無縫銜接。
一旦 view engine
設(shè)置成功,就不需要顯式指定引擎,或者在應(yīng)用中加載模板引擎模塊,Express 已經(jīng)在內(nèi)部加載,如下所示。
app.set('view engine', 'jade');
在 views
目錄下生成名為 index.jade
的 Jade 模板文件,內(nèi)容如下:
html
head
title!= title
body
h1!= message
然后創(chuàng)建一個(gè)路由渲染 index.jade
文件。如果沒有設(shè)置 view engine
,您需要指明視圖文件的后綴,否則就會(huì)遺漏它。
app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!'});
});
此時(shí)向主頁發(fā)送請(qǐng)求,“index.jade” 會(huì)被渲染為 HTML。
請(qǐng)閱讀 “為 Express 開發(fā)模板引擎” 了解模板引擎在 Express 中是如何工作的。
更多建議: