将节点env传递给Express中的layout.jade,而不显式定义路由

时间:2014-08-24 15:49:08

标签: javascript node.js express pug

所以,我将参数传递给Jade文件 - 馅饼:

app.use('/myroute', function (req, res) {
  res.render('myview', {somevar: 'Testing!'});
});

然而 - 我有我的layout.jade文件,由Express隐式读取和呈现,没有路由视图绑定的实际定义,我正在尝试找出如何传递变量到该模板。

有什么想法吗?干杯!

Ps-这样我就可以将节点的开发/生产变量传递给每个页面上添加的一些前端javascript。

2 个答案:

答案 0 :(得分:9)

啊,我找到了答案。将其设置为express中的局部变量,如下所述:Express.js View "globals"

所以,在app.js中我添加了app.locals.env = app.settings.env;,然后在我的layout.jade中添加了我的javascript并在脚本中使用了#{env}来获取环境值。

答案 1 :(得分:5)

您还可以在jade模板中使用#{settings.env},从app.locals.settings.env

获取值