Node.js NodeJS-重新加载外部js时遇到问题?

Node.js NodeJS-重新加载外部js时遇到问题?,node.js,asynchronous,Node.js,Asynchronous,我正在尝试构建一种插件管理器,它可以动态地重新加载外部源文件,而无需实际关闭节点应用程序。正如概念的快速证明只是评估我的插件文件一样,这些插件文件只是一个类的原型函数。一切似乎都很好,只是我似乎无法确定正确的范围。这些函数会被计算和原型化,但我不确定为什么这些函数不能获取全局变量。有人对此有什么建议吗?您可以依靠require而不是手动加载文件 现在,唯一的问题是require有一个内部缓存,并且只加载一次模块。但是,您可以使用以下快速解决方法强制卸载: delete require.cache

我正在尝试构建一种插件管理器,它可以动态地重新加载外部源文件,而无需实际关闭节点应用程序。正如概念的快速证明只是评估我的插件文件一样,这些插件文件只是一个类的原型函数。一切似乎都很好,只是我似乎无法确定正确的范围。这些函数会被计算和原型化,但我不确定为什么这些函数不能获取全局变量。有人对此有什么建议吗?

您可以依靠
require
而不是手动加载文件

现在,唯一的问题是require有一个内部缓存,并且只加载一次模块。但是,您可以使用以下快速解决方法强制卸载:

delete require.cache[require.resolve(myPlugin)];
require(myPlugin);

偶然将这些函数引入类本身的最佳方法是什么?我做了一个快速循环,加载了我所有的插件,但它们仍然无法看到全局范围内的东西,如fs模块等。