在使用node.js+express搭建web项目时,不想使用express默认的jade模板渲染引擎,换成ejs,以下是简要步骤:
1、更换渲染引擎,将app.js(入口文件)以下代码
//app.set('views', path.join(__dirname, 'views'));
//app.set('view engine', 'jade');
修改为:
app.set('views', path.join(__dirname, 'public/htmls'));//设置模板目录
app.engine('html', require('ejs').renderFile);
app.set("view engine", "html");
2、编写模板文件,如error.html,位置在当前目录下的public/htmls子目录中。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title><%=title%></title>
</head>
<body>
<%=error.status%>
<br>
<%=message%>
</body>
</html>
3、调用渲染语句,如
// error handler
app.use(function(err, req, res, next) {
// set locals, only providing error in development
res.locals.message = err.message;
res.locals.error = req.app.get('env') === 'development' ? err : {};
// render the error page
res.status(err.status || 500);
res.render('error',{title:'error title'});
});
在上面的代码中,第一个参数'error'表示模板名称,express将在当前目录下的public/htmls子目录中查找名称为error.html的模板;第二个参数将传递参数给模板即变量title,值是字符串'error title'。此外,模板还将在res.locals中查找变量message和error。模板语法不详述。
参考:res.render