node前端模板引擎使用问题

jade为例
在前端显示用户信息使用
欢迎回来,#{user.name}
这时node服务器在渲染模板时需要把数据传递过去
return res.render('/home', {user: user});
这貌似没什么问题
但是实际情况下欢迎回来,#{user.name}这类包含当前用户信息的模板一般都写在layout.jade
那么这时我难道要渲染每个页面时都要加上user数据
return res.render('/XXXX', {user: user, XXXX:XXXX});

阅读 3.6k
2 个回答

可以考虑将user放到一个公共的上下文当中,同一个session都可以请求到user的信息,这样就可以在layout.jade模板中直接引用了。

express文档中有提到了
我在stackoverflow搜到了相关的回答
http://stackoverflow.com/questions/18883473/express-middleware-to-popu...

app.locals定义的变量在整个应用中都可以被取到

user这种放到res.locals应该要好一点

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题