在nodejs路由器中,我正在做很多关于会话的事情。在Ruby on Rails中,我可以把它带到自己的类session_helper
,然后在路由控制器中我只会说这样的include sessions_helper
然后突然间它可以访问所有数据目前在课堂上可用,我可以session.renew
现在只有我看到的方法是创建一个函数,然后传递req& res作为路由器中的参数。
有没有办法简单地导入类,然后开始使用它的方法,这要求他们可以访问这个范围。
答案 0 :(得分:0)
在具有常规会话功能的nodej中,当前请求的会话将在req.session
中。由于对请求进行操作的所有代码都来自可以访问req
对象的请求处理程序,因此您只需将req
或req.session
传递给任何想要操作的代码属于当前请求的会话。这就是通常在nodejs中完成的事情。
目前尚不清楚你的意思是"导入类然后开始使用它的方法)。如果要创建一个在会话上运行的类,可以简单地创建一些中间件,例如:
app.use((req, res, next) => {
req.mySessionObject = new mySession(req.session);
next();
});
然后,req.mySessionObject
将成为您的所有请求中的会话对象(使用当前请求的相应会话进行初始化),您可以随时随地访问req.mySessionObject
以及在该对象上创建的任何方法。您仍然必须将req
或req.mySessionObject
传递给任何想要使用会话对象的函数,或者在路由处理程序范围内声明该函数,然后您可以直接访问req
任何时候的对象。
如果这不能涵盖您要描述的内容,请向我们展示您希望能够执行的操作的代码示例。