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