Javascript NodeJS-从请求头全局存储值

Javascript NodeJS-从请求头全局存储值,javascript,node.js,express,Javascript,Node.js,Express,我需要存储请求头中的值,并在我的应用程序的几个部分中使用它。实现这一目标的最佳方式是什么 下面是一个如何获取值的示例(app.js) 然后在我所有的应用程序中随时使用此值 例如,我使用全局对象来解决我的问题,但我不确定它是否是这样做的最佳方式。还有其他建议或改进吗 提前谢谢 res.locals 包含响应局部变量的对象,作用域为请求,因此仅对在该请求/响应周期(如果有)期间呈现的视图可用。否则,此属性与app.locals相同。 此属性对于公开请求级信息(如请求路径名、经过身份验证的用户、用户设

我需要存储请求头中的值,并在我的应用程序的几个部分中使用它。实现这一目标的最佳方式是什么

下面是一个如何获取值的示例(app.js)

然后在我所有的应用程序中随时使用此值

例如,我使用全局对象来解决我的问题,但我不确定它是否是这样做的最佳方式。还有其他建议或改进吗

提前谢谢

res.locals
包含响应局部变量的对象,作用域为请求,因此仅对在该请求/响应周期(如果有)期间呈现的视图可用。否则,此属性与app.locals相同。
此属性对于公开请求级信息(如请求路径名、经过身份验证的用户、用户设置等)非常有用


来源:

对于请求头来说,这听起来很奇怪,但最简单的方法可能是创建一个模块,用setter/getter函数存储数据。没错。但是,让我告诉你这到底是怎么回事:我有两个应用程序,除了一些样式外,功能相同。因此,我有一个标头,它返回一个值来区分这两个应用程序,并对每个应用程序应用正确的样式/API调用。我从功能上继承了这一点,必须适应它。这就是为什么我需要这个值在任何地方都可用。您认为最好的方法是创建一个模块来存储数据吗?谢谢@B您认为解决方案中的值应该存储在哪里?如果您有两个单独的应用程序,如果它们可能同时使用,我的解决方案将无法工作。这些值是服务器的全局值还是每个会话的全局值?如果是后者,那么你可能想看看哪里可以轻松存储会话特定变量。两个应用程序的源代码相同,只是细节不同。我需要这个全局值(来自http头)来将这些细节应用到其中一个。因此,这些值对于服务器来说是全局的@B谢谢你的回答!非常感谢你的帮助。谢谢你的回答!我想采用这种方法,但有些地方我无法访问res.locals:((当然,可能我做错了什么)好吧,那么如果您使用app.locals,您的情况是否也会遇到同样的问题?我会根据您的需要看到其他场景,如将全局数据存储在数据库memcache(redis…)中或者甚至会话。但是,是的,你也可以做一个单独的模块,负责存储这些值。我只是不认为在我们已经有很多存储系统的情况下重新创建存储系统有什么意义!:)无论如何,祝你好运,如果你能分享你的最终决定,那就太好了!
app.get('*', (req, res) => {
  global.exampleHeader = req.headers['example-header'];
});