NodeJS / Express:隐式地将自定义中间件的数据推送到渲染调用

我正在使用NodeJS / Express3。

我有一些自定义中间件,它根据cookie和URL从数据库中检索一些数据。

我想要访问基本模板中的这些数据(用于所有页面)。

我可以通过将数据附加到req ,然后使用res.render('template', {foo: req.foo, ...page specific data...});来显式执行此操作res.render('template', {foo: req.foo, ...page specific data...});

我想使这隐含,所以当我添加(或删除)自定义中间件我不必改变每个渲染调用。

  • 有没有一种方法可以使自定义中间件的数据可以呈现而不必将其添加到req中,并将其显式传递给每个呈现请求。

我正在使用LinkedIn的dust.js模板版本,但我认为问题是模板引擎不可知论者。

我想答案可能在于res.localshttp://expressjs.com/api.html#res.locals