文件模块知道全局variables?

Node.js中的文件模块是否意识到全局variables? 如果没有,我怎么能得到一个variables我想要加载的文件模块? 例如,现在我有一个运行3台服务器的脚本。 一个用于游戏大厅,一个用于sockets路由器,另一个用于pipe理。 我想打破服务器到单独的文件模块。 问题是,套接字路由器需要访问游戏大厅,游戏大厅和pipe理模块需要访问套接字路由器。 这可能吗?

不是真的 – 文件/模块中定义的variables是本地的模块。

您可以创build一个通用模块来导出所需的服务器variables,并在每个服务器中都需要该模块,但更好的方法可能是使用dependency injection …

每个服务器都需要有一个接收相关参数的方法(在这种情况下,通过导出一个带有所需服务器参数的“开始”函数)。 在启动时,主服务器“引入”对这些其他服务器的引用。

var socketRouter = require('./socketRouter.js'); var gameLobby = require('./gameLobby.js'); var admin = require('./admin.js'); socketRouter.start(gameLobby); gameLobby.start(socketRouter); admin.start(socketRouter);