在使用Express 開發web項目時忽然發現繼承功能沒法正常啓用了,然而網上大多仍是停留在以前的版本的記錄。在3.x之後的版本中模板繼承功能已經再也不被支持了,若是須要繼續使用這個功能的話須要單獨加載繼承模塊的中間件 express-partials 。html
所以,咱們須要在項目中單獨安裝下express-partialsnode
$ npm install express-partials
在安裝完成後,能夠根據官方的例子調整已有的項目便可從新集成模板繼承功能。git
github上面提供了一個簡單的例子展現如何調用新的中間件:
github
var express = require('express') , partials = require('express-partials') // 添加加載聲明 , app = express(); // 加載中間件 eapp.use(partials()); app.get('/',function(req,res,next){ res.render('index.ejs') // -> render layout.ejs with index.ejs as `body`.}) app.get('/no-layout',function(req,res,next){ res.render('index.ejs',{layout:false}) // -> only renders index.ejs}) app.get('/mobile',function(req,res,next){ res.render('index.ejs',{layout:'mobile'}) // -> render mobile.ejs with index.ejs as `body`.})
從官方提供的例子能夠看出在新版中須要單獨引入繼承模塊並進行調用,加入上述聲明與調用便可。web
注:app.use(partials()); 語句必須放在路由調用的前面,不然沒法正常起效(即必須放在 app.use(app.router); 的上面)。express