我正在使用node.js和express实现一个webapp,使用jade模板引擎。
模板可以正常渲染,并且可以访问helpers和dynamic helpers,但是无法访问除"body"局部变量之外的其他局部变量,该变量由express提供并在我的layout.jade中可用和定义。
以下是一些代码:
app.set ('view engine', 'jade');
app.get ("/test", function (req, res) {
res.render ('test', {
locals: { name: "jake" }
});
});
这是 test.jade 文件:
p hello
=name
当我删除第二行(引用名称)时,模板可以正确渲染,在网页上显示“hello”字样。但是当我包含了=name时,它会抛出一个ReferenceError错误:
500 ReferenceError: Jade:2 NaN. 'p hello' NaN. '=name' name is not defined
NaN. 'p hello'
NaN. '=name'
我相信我在本地变量方面完全按照jade和express的示例进行了跟随。我是否做错了什么,或者这可能是express或jade中的一个bug?