Page 108 - Node.js开发指南
P. 108
5.4 模板引擎 101
静态视图助手可以通过 app.helpers() 函数注册,它接受一个对象,对象的每个属性名 1
称为视图助手的名称,属性值对应视图助手的值。动态视图助手则通过 app.dynamicHelpers()
注册,方法与静态视图助手相同,但每个属性的值必须为一个函数,该函数提供 req 和 res,
参见下面这个示例:
2
var util = require('util');
app.helpers({
inspect: function(obj) {
return util.inspect(obj, true);
} 3
});
app.dynamicHelpers({
headers: function(req, res) {
return req.headers;
} 4
});
app.get('/helper', function(req, res) {
res.render('helper', {
title: 'Helpers' 5
});
});
对应的视图helper、ejs的内容如下:
<%=inspect(headers)%> 6
访问 http://localhost:3000/helper 可以看到如图5-7 所示的内容。
7
8
9
10
图5-7 使用视图助手的页面