我对app.locals
和res.locals
感到困惑,因为我不知道我应该何时使用它们以及如何使用它们?实际上我想知道app.locals
和res.locals
生命周期。
例如,我应该在哪里保存我的用户(经过身份验证的用户)详细信息(用户名,角色等)?在app.locals
或res.locals
?
答案 0 :(得分:57)
您可以认为app.locals
是全球性的。您可能希望在app.locals
中存储的一些示例:URL帮助程序,应用程序级常量。您应该在每个视图中放置您想要访问的任何内容。
res.locals
仅存储特定响应的数据(响应特定请求)。例如,GET / something将创建一个新的res.locals,它将通过响应'/ something'的所有中间件传递。这里的适当信息类似于您问题中经过身份验证的用户详细信息。
生命周期看起来像这样,你的责任是粗体(其他一切都是通过快递完成的):