2

我是 Node.js 的初学者,我非常喜欢它。我想知道如何以最好和最简单的方式处理 Flash 消息。

我在我的站点中使用了 connect-flash 包。它有更好的吗?

我总是将我的 flash 消息放在我的渲染函数中,如下所示:

res.render('auth/login', {
        title: 'Log in',
        success: req.flash('success'),
        error: req.flash('error')
    });

它有办法在全球范围内处理吗?像 res.locals.messages 变量或类似的东西?

我使用 JADE html 模板,所以我像 #{success} 一样打印它们。如何以这种方式访问​​全局变量来打印我的 Flash 消息?

非常感谢您的帮助和建议!

4

1 回答 1

5

如果你想在每个请求中设置successerror变量,你可以res.locals像你提到的那样使用。您可以使用中间件来完成此操作,您将在以下内容中包含该中间件connect-flash

// ...

app.use(function(req, res, next) {
  res.locals.success = req.flash('success');
  res.locals.error = req.flash('error');
  next();
});

// ...

现在,success并且error将永远出现在对res.render.

于 2014-12-18T16:32:50.150 回答