Javascript express node.js应用程序中的全局服务器会话
考虑到我只能在请求的函数中访问node.js应用程序的模块,我应该如何授予对当前会话的访问权限?Javascript express node.js应用程序中的全局服务器会话,javascript,node.js,session,express,Javascript,Node.js,Session,Express,考虑到我只能在请求的函数中访问node.js应用程序的模块,我应该如何授予对当前会话的访问权限? 这是一个相当复杂但模块化的应用程序,传递会话似乎有点困难,我需要重新实现很多东西。 理想情况下,我会将其附加到使用module.exports导出的对象,并在其他模块中需要它。但我担心在并发请求中它会被覆盖,最终可能会出现冲突。您尝试过吗? 在官方文档中,它说“响应局部变量的作用域是请求,因此只有在该请求/响应周期中呈现的视图(如果有)才可用。此对象对于公开请求级信息(如请求路径名、已验证用户、用户
这是一个相当复杂但模块化的应用程序,传递会话似乎有点困难,我需要重新实现很多东西。
理想情况下,我会将其附加到使用module.exports导出的对象,并在其他模块中需要它。但我担心在并发请求中它会被覆盖,最终可能会出现冲突。您尝试过吗? 在官方文档中,它说“响应局部变量的作用域是请求,因此只有在该请求/响应周期中呈现的视图(如果有)才可用。此对象对于公开请求级信息(如请求路径名、已验证用户、用户设置等)非常有用。”
调用中间件/路由回调时,您可以定义res.locals.myProp=“some value”并从视图访问它,使用
locals.myProp我解决了这个问题,使用它将来自express的传入请求和响应绑定到一个新的。我不需要视图中的数据,但需要基于当前路由的其他节点模块中的数据。对不起,我的错,我读你的帖子太快了。您可以在每个请求上定义app.locals.myProp
。。。但你最终可能会遇到你害怕的问题。我不知道,老实说我从来没有试过。也许有人会提供一个更好的解决方案,如何在并发请求中覆盖它?你有一个例子吗?