Javascript Node.js:使用下划线和ejs呈现html
我目前正在使用EJS模板引擎来呈现HTML页面,但我想添加下划线以简化预处理。现在,我这样做,它的工作:Javascript Node.js:使用下划线和ejs呈现html,javascript,node.js,express,underscore.js,ejs,Javascript,Node.js,Express,Underscore.js,Ejs,我目前正在使用EJS模板引擎来呈现HTML页面,但我想添加下划线以简化预处理。现在,我这样做,它的工作: var _ = require("underscore"); app.get('/', function(req, res){ var data = {}; data.people = [{ name: "john" }, { name: "marry" }]; data._ = _; // inject underscore.js res.render('
var _ = require("underscore");
app.get('/', function(req, res){
var data = {};
data.people = [{ name: "john" }, { name: "marry" }];
data._ = _; // inject underscore.js
res.render('index', data);
});
现在要呈现HTML,我可以访问下划线:
<% _.each(people, function(person){ %>
<div><%= person.name %></div>
<% }); %>
但是,我必须为每条路线插入下划线,是否有方法始终插入下划线?(可能是在app.engine设置中的某个地方?您可以将
\u
绑定到app.locals
设置后,app.locals属性的值始终保持不变
与res.locals属性相比,应用程序的生命周期
仅在请求的生存期内有效
在你看来:
<% _.each(people, function(person){ %>
<div><%= person.name %></div>
<% }); %>
另一位SO用户给出了一个很好的答案:
请参见app.locals
vs.req.locals
我只是在“约翰”和“玛丽”的名字周围加了引号
<% _.each(people, function(person){ %>
<div><%= person.name %></div>
<% }); %>