0

我对连接闪存有一些问题。这是我的配置

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

 app.use(flash());
 app.use(session({
    secret:settings.cookieSecret,
    key:settings.db,
    cookie:{maxAge:60000},
    resave:false,
    saveUninitialized:true
}));

app.use(function(req,res,next){
    res.status(err.status || 500);
    res.render('error', {
        message: err.message,
        error: {}
    });
});

我很困惑,我不知道如何解决这个问题

4

1 回答 1

0

您应该在声明会话中间件后声明flash中间件

app.use(session({
    secret:settings.cookieSecret,
    key:settings.db,
    cookie:{maxAge:60000},
    resave:false,
    saveUninitialized:true
}));
app.use(flash());

Express 按照声明的顺序处理中间件,所以当你使用flash中间件时,会话中间件必须已经声明,否则会报错。

于 2016-10-09T08:15:54.250 回答