我有一个场景,我试图在一个node.js文件中设置一个会话变量,然后在另一个node.js文件中访问同一个会话变量。
我不确定是否需要两次express,每个node.js文件一次。
有人知道如何在一个node.js文件中设置会话变量,然后在另一个node.js文件中调用函数来访问同一个会话变量吗?
如有任何建议,将不胜感激。
最佳答案
会话变量通常只在代表特定用户的请求上下文中才有意义(因为会话属于特定用户)。
因此,如果您正在处理一个请求,并且希望在另一个模块中使用某些功能,而该另一个功能希望访问当前请求的会话状态,那么您通常只需将req
对象传递给另一个模块的方法,以便它可以访问与该请求关联的会话。
如果由于某种原因,当您认为需要访问会话信息时,您没有处理请求,请详细说明您正在执行的操作,因为您必须访问会话存储区中的密钥用户标识符,才能找到正确的会话。
记住,会话是每个用户的,而且可能有无数个会话。您不会将它们存储在模块变量中。它们位于会话存储中,通过用户密钥(通常在cookie中)访问。
因此,会话只在特定用户的上下文中才有意义,而且通常是在特定请求的上下文中,该请求允许您直接访问会话。因此,如果需要在另一个模块中使用函数,而该函数需要访问会话,那么只需将用户会话本身的req
对象作为参数传递给另一个方法调用。
一如既往,如果您向我们展示您的实际代码并向我们展示您试图解决的实际问题,我们可以更具体地回答您的特定问题。像这样的一般性问题导致我们必须教授一个广泛的一般性解决方案,我们可能会或可能不会达到你所要做的事情的确切标准,这需要我们更多的文字,而不仅仅是向你展示几行你自己的代码来解决问题。
关于node.js - 访问不同node.js文件之间的 session 变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38579019/