nodejs express框架一個工程中同時使用ejs模版和jade模版

  在某些項目中,好比你接手了一個別人的項目而後你不想用蛋疼的ejs,或者你不想用蛋疼的jade。你有不想重寫以前的頁面,那麼你如今可能須要新引入ejs或者jade模塊,你僅僅須要作下面兩步也許就能完成使用兩個模版的工做html

1.consolidate.jsexpress

cd 到項目目錄:npm

npm install consolidate --save

打開項目的app.js(也許你的叫其餘名字)  app

把app.js的形以下面的代碼片斷ui

app.set('view engine', 'jade');

改成htm

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');

重啓工程就能夠了blog

2.一點問題jade

在個人一個項目A裏我實際用到的代碼是模板

var engines = require('consolidate');

app.engine('jade', engines.jade);
app.engine('html', engines.ejs);
// app.engine('jade', require('jade').__express);
// app.engine('html', require('ejs').renderFile);

app.set('view engine', 'jade');
//多出如下一行
app.set('view engine', 'html');

這種寫法在項目A裏可使用,但在另外一個項目B裏發現解析不了jade模板class

而在項目B中只能使用

var engines = require('consolidate');

app.engine('jade', engines.jade);
app.engine('html', engines.ejs);


app.set('view engine', 'jade');

//或者
//app.engine('jade', require('jade').__express);
//app.engine('html', require('ejs').renderFile);

//app.set('view engine', 'jade');

求各位園友研究以後幫忙解答一下這是爲何?

ejs jade  consolidate 版本一致express 版本4.12.x

相關文章
相關標籤/搜索