ejs作为后端模板需要注意的是express的版本在3.x以后改动较大,很多需要注意的地方:
express 在引擎的添加为:
var express = require('express');
var ejs = require('ejs');
var app = new express();
app.set('view engine', 'ejs');
app.engine('html',ejs.renderFile);
1. 如果不愿意使用默认的layout.ejs,可自行指定。例如:
res.render("index",{"title":"test","layout":"main"});
// 或
res.render("index",{"title":"test","layout":"main.ejs"});
2. 如果不愿意使用layout,则可以设置layout为false,例如:
res.render("index",{"layout":false});
3. 如果不想每个请求都单独设置一次。可以使用全局设置:
app.set("view options",{
"layout":false
});
4. ejs 里,默认的闭合标记是 ,我们也可以定义自己的标签。例如:
app.set("view options",{
"open":"{{",
"close":"}}"
});
之前版本中在./views/index.ejs中,通过partial调用comment
this is !
最新ejs模板嵌套,通过include来嵌入,改为:
//或者
//如果要使用.html静态嵌套必须加入.html,例如
//而comments只能使用
//to do something
最后是在router中,调用index.ejs。
app.get("/",function(req,res){
res.render("index",{"title":"test","layout":false,"comments":[
{"user":"gainover","content":"test1"},
{"user":"zongzi","content":"test2"},
{"user":"maomao","content":"test3"}
]});
});