如何在所有树枝页面均可访问的ndoe js中设置全局变量

时间:2019-07-19 03:51:45

标签: node.js express twig

我需要创建一个可以在所有嫩枝模板中访问的变量,而无需将其添加到express中的所有渲染对象中。

或者我需要一个在控制器完成其特征设置后添加此变量的方法。

1 个答案:

答案 0 :(得分:1)

尝试使用app.locals

http://expressjs.com/en/5x/api.html#app.locals

app.locals app.locals对象具有作为应用程序内局部变量的属性。

console.dir(app.locals.title)
// => 'My App'

console.dir(app.locals.email)
// => 'me@myapp.com'

设置后,app.locals属性的值将在应用程序的整个生命周期中保持不变,而res.locals属性仅在请求的生命周期内有效。

您可以在应用程序内呈现的模板中访问局部变量。这对于为模板以及应用程序级数据提供帮助功能很有用。本地变量可通过req.app.locals在中间件中使用(请参见req.app)

app.locals.title = 'My App'
app.locals.strftime = require('strftime')
app.locals.email = 'me@myapp.com'