我正在尝试在Express和Node.js以及我的应用程序中使用节点模块cookie-session。这是我要尝试做的一个例子。
在主应用程序文件中:
const express = require('express');
const session = require('cookie-session');
let app = express();
let login = require('./routes/login');
let profile = require('./routes/profile');
app.use(cookieSession({
name: 'User Auth',
maxAge: 30 * 60 * 1000,
secret: 'oY7^28*Sm$#I91N!-NAWTTSOE#44884'
}));
app.use('/login', login);
app.use('/profile', profile);
//App.listen down here
在我要在其中使用会话的login.js文件中:
router.get('/', function(req, res){
req.session.username = "Test Username";
res.redirect('/profile');
})
此后,profile.js文件应呈现配置文件页面:
router.get('/', function(req, res, next){
//If no username in session, return an error
if (!req.session.username) {
let err = "Not logged in.";
return next(err);
}
res.render('profile', {username: req.session.username})
//req.session.username should be "Test Username"
})
// Error handling
但是,最后却说未定义req.session.username。是什么原因造成的,我该如何解决?