我试图将我的会话变量传递给我的把手模板,但我遇到了困难.现在我在app.configure函数中使用它:
app.use(function(req,res,next){ res.locals.session = req.session; console.log(res.locals.session); next(); });
它正确记录到控制台,但是当我尝试在我的把手模板中使用“session”变量时,没有任何显示.这是我的模板的一部分:
<body> <nav> {{> topBarPartial}} {{> secondaryBarPartial}} </nav> <div> <p>before</p> {{session}} <p>after</p> {{> mainPartial}} </div> {{> footerPartial}} </body>
以下是控制台记录的内容:
{ cookie: { path: '/',_expires: null,originalMaxAge: null,httpOnly: true },userId: 45253262,name: 'Austin' }
有任何想法吗?
解决方法
我终于找到了解决方案.事实证明我在说这个:
app.use(function(req,next){ res.locals.session = req.session; console.log(res.locals.session); next(); });
后
app.use(app.router);
它实际上需要在app.router之前,但之后
app.use(express.session({ secret: '***********' }));