我正在构建一个服务,在必要时需要多个模块之间分割。 我需要从我的所有模块中的路由器访问“请求”变量。将变量传递到所有模块
我当前的解决方案(其已经提出在其他线程用于一般传递变量)是将它传递给每个必需的模块:
变种a_module =要求(“./ a_module”)(REQ) ;
和出口各个模块的功能:
module.exports =功能(REQ){ ... }
但它是繁琐,涉及不必导出我的模块作为函数,并且只能在导出函数的范围内访问此变量。理想情况下,我希望能够在整个所需模块中访问变量。
有没有其他优雅的方式来做到这一点,我失踪了?像在整个应用程序中声明req变量为全局一样?
您是使用Express还是只使用普通的NodeJS? –
是的,我正在使用Express – gwendall
与PHP不同,节点在同一进程中异步处理多个请求。如果将'req'设置为全局的,并且同时处理了多个请求,那么'req'就会被破坏,所以我认为除非它们是常量和通用的,否则我不认为应该使用全局变量。 –