您可以考虑
app.locals是全球性的。您可能想存储在其中的一些示例
app.locals:URL帮助器,应用程序级常量。您应该在此处放置任何您想在每个视图中访问的内容。
res.locals仅存储针对特定响应(响应特定请求)的数据。例如,GET /
something将创建一个新的res.locals,该响应将通过所有响应“ /
something”的中间件传递。这里的适当信息包括您问题中经过身份验证的用户详细信息。
生命周期如下所示,您的职责 是大胆的 (其他所有事情都是通过快递为您完成的):
- 应用已创建(var app = express();)
- app.locals已创建
- 请求到达
- 为该请求创建了res.locals
- 您可以将诸如用户角色之类的东西添加到res.locals中(res.locals.role =’admin’;)
- 您提供对请求的响应(res.render(’some / view’);)
- 该请求的res.locals已被垃圾收集,消失了
- 只要应用存在,app.locals继续存在



