我的routes.js上的错误:
app.get('/login', function(req, res) {
// render the page and pass in any flash data if it exists
res.render('login.html', { message: req.flash('loginMessage') });
});
在req.flash
上更具体。
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(require('less-middleware')(path.join(__dirname, 'public')));
app.use(express.static(path.join(__dirname, 'public')));
//PASSPORT AUTH
app.use(flash()); // use connect-flash for flash messages stored in session
app.use(session({ secret: 'ilovescotchscotchyscotchscotch' })); // session secret
app.use(passport.initialize());
app.use(passport.session()); // persistent login sessions
如你所见,我有app.use(flash())
;这是其他案件中最常见的错误。
Flash初始化为:
var flash = require('connect-flash');
我真的不知道问题出在哪里。
编辑:错误页面:
答案 0 :(得分:1)
这应该有效。您是否尝试创建最小的测试用例?您的问题可能是代码中的其他位置。也许app.use(flash())没有运行?
var flash = require('connect-flash');
var express = require('express')
var session = require('express-session')
var app = express();
app.use(flash());
app.use(session({ secret: 'keyboard cat' }))
app.get('/flash', function(req, res){
req.flash('info', 'Flash is back!')
res.redirect('/');
});
app.get('/', function(req, res){
res.send(req.flash('info'));
});
app.listen(3000);