处理 Node.js flash 消息的最佳方法是什么?

Mik*_*tin 2 node.js express flash-message connect-flash pug

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

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

我总是将 Flash 消息放入渲染函数中,如下所示:

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

它有办法处理全球事务吗?就像在 res.locals.messages 变量或类似的东西中?

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

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

Eva*_*ahn 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();
});

// ...
Run Code Online (Sandbox Code Playgroud)

现在,success并且error将永远出现在对 的每次调用中res.render