gpt4 book ai didi

node.js - 文件模块知道全局变量吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:46 25 4
gpt4 key购买 nike

Node.js 中的文件模块是否知道全局变量?如果没有,如何获取我想要加载的文件模块的变量?例如,现在我有一个运行 3 个服务器的脚本。一台用于游戏大厅,一台用于套接字路由器,一台用于管理。我想将服务器分成单独的文件模块。问题是,套接字路由器需要访问游戏大厅,并且游戏大厅和管理模块需要访问套接字路由器。这可能吗?

最佳答案

并非如此——文件/模块中定义的变量是模块的本地变量。

您可以创建一个导出所需服务器变量的通用模块,并在每个服务器中要求该模块,但更好的方法可能是使用 Dependency Injection ...

每个服务器都需要有一种接收其依赖参数的方法(在本例中,通过导出带有所需服务器参数的“启动”函数)。启动时,主服务器“注入(inject)”对其他服务器的引用。

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

关于node.js - 文件模块知道全局变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9198418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com