如何在所有树枝页面中都可以访问的节点js中设置全局变量

How to set global variable in ndoe js that can be accessible in all twig page

我需要创建一些可以在所有 twig 模板中访问的变量,而不是将他添加到 express 中的所有渲染对象中。

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

尝试使用 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'