Express 3.x之後模板繼承的改變

        在使用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


        參考文檔:https://github.com/publicclass/express-partialsnpm

                       http://aresli.com/nodejs-expressjs-study-notes-3.htmlapp

相關文章
相關標籤/搜索