鍍金池/ 教程/ HTML/ 在 Express 中使用模板引擎
在 Express 中使用模板引擎
代理之后的 Express
使用中間件
數(shù)據(jù)庫集成
錯(cuò)誤處理
調(diào)試 Express
路由
遷移到 Express 4

在 Express 中使用模板引擎

需要在應(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 中是如何工作的。