751970
刚开始玩Node, 一直以来我都以为app.use(...) 就像javascript的事件绑定一样,先后顺序影响也许并不大。
但是就在我今天用express写登陆逻辑的时候,掉进了这个坑 : (
由于在app.js中我把app.use(session(....))放在了路由绑定之后,导致路由中死活获取不到req.session:
app.use('/login', login);
app.use(session({
secret: settings.cookieSecret,
key: settings.db,//cookie name
cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days
store: new MongoStore({
db: settings.db,
host: settings.host,
port: settings.port
})
}));
后来把app.use(session(....))前置以后发现这个问题就KO了。
请教诸位前辈,由于app.js中一般都会绑定大量的app.use(...), 那么,绑定app.use(...)的顺序有没有什么规则需要遵守。