在被垃圾收集的全局定义的 REPL 变量

问题描述

好的,所以我正在将我在 NodeJS (javascript) 上制作的 discord bot 迁移到 Repl 来托管它,但我遇到了问题...

在我的 bot api 上,我将每个命令和函数存储在全局范围内(如 global.a = "b") 但由于某种原因,这并没有按预期工作。

在主脚本中,我运行这一行来导入“global_loader” require("./globalLoader");

在 GlobalLoader 中有很多 global.something = something 语句 像这样:

global.discord = require('discord.js');

因此,当主脚本尝试访问它时导入所有这些东西之后,之前加载的所有值都变成了 undefined 对象(就像我从未设置它们一样)

在主脚本上运行 console.log(global.discord) 会在输出中返回一个灰色的 undefined

在我的本地机器上运行相同的项目工作正常...但我注意到我的机器和 repl 之间的节点版本不同 我的机器有节点 v10.20.1,repl 有节点 v12.18.3

全局不是用于声明可以通过所有模块访问的变量吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)