ExpressJS中间件安装程序

时间:2011-12-14 14:10:26

标签: model-view-controller node.js express

我的网站有一个通知系统(在Node.js中设置),我正在使用MVC模式。在我的控制器中,我会检查是否有flash消息:

  if flashMessages = req.flash()
    if flashMessages.gritterMsgs
      for flashMessage in flashMessages.gritterMsgs

唯一的问题是我必须为每个控制器和控制器中的每个功能执行此操作。有没有什么可以包括这一次(也许作为中间件)?

1 个答案:

答案 0 :(得分:2)

Express已有视图帮助程序,您可以为这样的视图设置会话和flash对象:

app.dynamicHelpers({
  session: function(req, res){
    return req.session;
  },
  flash: function(req, res){
    return req.flash();
  }
});

然后在您的视图中,您可以直接使用flash对象(在控制器中设置,如:req.flash = "my flash stuff"

以下是一个示例:https://github.com/alessioalex/Nodetuts/blob/master/express_samples/app.js