Node.js express和connect redis on store选项出错
控制台向我显示: TypeError:无法读取未定义的属性“userSession” 我确信这个错误是由“Redistore”对象引起的,但我不知道为什么,也不知道如何修复 我有什么错误吗 请帮帮我 问题出在Redistore配置中。端口设置应该是一个数字,如下所示:Node.js express和connect redis on store选项出错,node.js,session,express,Node.js,Session,Express,控制台向我显示: TypeError:无法读取未定义的属性“userSession” 我确信这个错误是由“Redistore”对象引起的,但我不知道为什么,也不知道如何修复 我有什么错误吗 请帮帮我 问题出在Redistore配置中。端口设置应该是一个数字,如下所示: app.engine('html', ejs.renderFile) .set("views", __dirname + '/views') .use("/public", express.static(__dir
app.engine('html', ejs.renderFile)
.set("views", __dirname + '/views')
.use("/public", express.static(__dirname + '/public'));
/*********************************************************************/
app.use(cookieParser());
app.use(session({
store: new RedisStore({
host: "127.0.0.1",
port: "3636"
}),
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
}));
app.use(function(req, res, next) {
var userSession = req.session.userSession;
if (!userSession) {
userSession = req.session.userSession = '';
}
next();
});
/************************************************************************/
server.listen(8080);
app.get('/', function(req, res) {
res.render('index2.html', {
infoUser: req.session.userSession
});
})
.use(function(req, res, next) {
res.redirect('/');
});
如果这不能解决问题,您还应该确保3636是正确的端口。Redis默认使用6379。谢谢你的回答,我更改了端口号,但没有解决我的问题。我的控制台也显示了同样的问题。TypeError:无法读取未定义的属性“userSession”。
app.use(session({
store: new RedisStore({
host: "localhost",
port: 3636
}),
secret: 'keyboard cat',
resave: false,
saveUninitialized: true
}));