我是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消息?
非常感谢您的帮助和建议!
答案 0 :(得分:3)
如果您想在每个请求中设置success
和error
变量,可以使用您提到的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
的每次通话中。