TypeError: Cannot set property 'user' of undefined
今天在學習session過程中,往req.session屬性賦值時總是報以上的錯誤,
經過在網上查找解決方案和自己測試,終於找到解決方案,記錄下。方便以后遇到同樣的問題的同學。
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/logout', indexRouter);
app.use('/home', indexRouter);
app.use(session({
secret : 'secret', // 對session id 相關的cookie 進行簽名
resave : true,
saveUninitialized: false, // 是否保存未初始化的會話
cookie : {
maxAge : 1000 * 60 * 3, // 設置 session 的有效時間,單位毫秒
},
}));
報錯時是把session寫在路由的下面導致一直報錯。
解決方法很簡單,變換下順序就可以了, 即把session的寫在路由的上方去
app.use(session({
secret : 'secret', // 對session id 相關的cookie 進行簽名
resave : true,
saveUninitialized: false, // 是否保存未初始化的會話
cookie : {
maxAge : 1000 * 60 * 3, // 設置 session 的有效時間,單位毫秒
},
}));
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/logout', indexRouter);
app.use('/home', indexRouter);
