LiteHeaven 2019-09-05
一般我们在做node web项目的时候,想使用我们平时常用的html模板,express默认使用jade模板,本身是没有HTML的,那么如何实现呢?
var app = express(); app.set('views', path.join(__dirname, 'views')); //设置视图引擎 app.set('view engine', 'ejs');
npm install ejs -D
var ejs = require('ejs');
var app = express(); var ejs = require('ejs'); app.set('views', path.join(__dirname, 'views')); app.engine('html', ejs.__express); app.set('view engine', 'html');
app.engine('html', require('ejs').__express);
将ejs模板映射至.html文件;
上面实际上是调用了ejs的.renderFile()方法,ejs.__express是该方法在ejs内部的另一个名字。
因为加载的模板引擎后调用的是同一个方法.__express,所以如果使用的是ejs模板,不用配置该项。
在.set()方法的参数中,有一项是'view engine',表示没有指定文件模板格式时,默认使用的引擎插件;
如果这里设置为html文件,设置路由指定文件时,只需写文件名,就会找对应的html文件。