Express.js中间件 – 将项目添加到响应对象模型

我正在玩Expressjs,并试图从默认模板中提取页面标题到中间件,而不是每次传递到视图的模型。

默认的index.jade模板

h1= title p Welcome to the #{title} 

来自模板的默认路由

 exports.index = function(req, res){ res.render('index', { title: "Express" }); }; 

我试图以下,但从Express表示错误title是不确定的,当我这样做。

 module.exports = function(req, res, next){ res.title = 'Express'; next(); } 

这显然是一个微不足道的例子,但是这也是我想弄明白的,因为在每条路线之后,我可能会想要在响应的模型中注入一些东西。 我只是不知道该怎么做。

谢谢

你必须使用默认助手。 阅读文档 。 这是一个简单的片段:

 app.helpers({ title: 'Express' }); /* Now JADE sees your variable title without explicitly defining it in every view. */ 

也请看文档中的dynamic助手 。 这些可以链接到reqresvariables(正常的帮助者不依赖于请求/响应)。