一、consolidatehtml
app.engine(ext, callback)
註冊模板引擎的 callback 用來處理ext擴展名的文件
默認狀況下, 根據文件擴展名require() 對應的模板引擎。 好比你想渲染一個 「foo.jade」 文件,Express會在內部執行下面的代碼,而後會緩存require(),這樣就能夠提升後面操做的性能node
app.engine('jade', require('jade').__express);
那些沒有提供 .__express 的或者你想渲染一個文件的擴展名與模板引擎默認的不一致的時候,也能夠用這個方法。 好比你想用EJS模板引擎來處理 「.html」 後綴的文件:express
app.engine('html', require('ejs').renderFile);
consolidate.js 專門把全部的node流行的模板引擎進行了包裝,這樣它們在Express內部看起來就同樣了。緩存
var engines = require('consolidate'); app.engine('haml', engines.haml); app.engine('html', engines.hogan);
用法:app
var engines = require('consolidate'); app.engine('jade', engines.jade); app.engine('html', engines.ejs); // or use these // app.engine('jade', require('jade').__express); // app.engine('html', require('ejs').renderFile); app.set('view engine', 'jade');