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

相关文章
相关标签/搜索