以jade
为例
在前端显示用户信息使用欢迎回来,#{user.name}
这时node服务器在渲染模板时需要把数据传递过去
即return res.render('/home', {user: user});
这貌似没什么问题
但是实际情况下欢迎回来,#{user.name}
这类包含当前用户信息的模板一般都写在layout.jade
那么这时我难道要渲染每个页面时都要加上user数据return res.render('/XXXX', {user: user, XXXX:XXXX});
可以考虑将
user
放到一个公共的上下文当中,同一个session
都可以请求到user
的信息,这样就可以在layout.jade
模板中直接引用了。express
文档中有提到了我在stackoverflow搜到了相关的回答
http://stackoverflow.com/questions/18883473/express-middleware-to-popu...
app.locals
定义的变量在整个应用中都可以被取到