错误:req.flash()需要会话

Jam*_*ber 8 flash node.js express

我是节点的新手,我很确定我已经设置了中间件并表示使用flash消息,但我仍然得到错误:

Error: req.flash() requires sessions

建立

//express.js
     var flash = require('connect-flash')

     module.exports = function (app, config, passport) {
         app.use(flash());
     };

//route js
     exports.loginGet = function (req, res) {
       res.render('users/login', {
         title: 'Login',
         message: req.flash('error') //error in question
       });
     };
Run Code Online (Sandbox Code Playgroud)

我还能做些什么来确保我已正确设置所有设置并使其正常工作?

and*_*ars 13

自述文件(强调我的):

Flash消息存储在会话中.首先,通过启用cookieParser和会话中间件来照常设置会话.然后,使用connect-flash提供的flash中间件.

不再需要使用express-sessions快递4 cookieParser.

var session = require('express-session');

//...


app.use(session({ cookie: { maxAge: 60000 }, 
                  secret: 'woot',
                  resave: false, 
                  saveUninitialized: false}));
Run Code Online (Sandbox Code Playgroud)