通常咱们在作node web项目的时候,想使用咱们平时经常使用的html模板,express默认使用jade模板,自己是没有HTML的,那么如何实现呢?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文件;node
上面其实是调用了ejs的.renderFile()方法,ejs.__express是该方法在ejs内部的另外一个名字。web
由于加载的模板引擎后调用的是同一个方法.__express,因此若是使用的是ejs模板,不用配置该项。express
在.set()方法的参数中,有一项是'view engine',表示没有指定文件模板格式时,默认使用的引擎插件;npm
若是这里设置为html文件,设置路由指定文件时,只需写文件名,就会找对应的html文件。bash