我当时正在使用Express JS,并且正在使用express-session。如果我不把app.use(session())
中间件放在第一位,那是行不通的。
app.use(session({ name: 'server-session-cookie-id', secret: 'my express secret', saveUninitialized: true, resave: true })); app.use('/', routes); app.set("view engine", "pug"); app.set("views", path.join(__dirname + "/views")); app.use(flash());
如果
app.use(session())
是第一个写的,则表示req.session.someVariable
未定义。
有人可以解释Express如何调用中间件app.use吗?
我当时正在使用Express JS,并且正在使用express-session。如果我没有将app.use(session())中间件放在第一个app.use(session({name:'server-session-cookie-id',...
按注册顺序检查所有Express路由处理程序(无论app.use()
,app.get()
,app.post()
还是其他任何东西)是否存在路由匹配。此外,一旦路由发送了请求且未调用next()
,则不会再检查其他路由来查找与当前请求的匹配。该请求的所有处理将完成。