我正在尝试构建一种插件管理器,可以动态重新加载外部源文件,而无需实际关闭节点应用程序。正如概念的快速证明一样,我只是将我的插件文件简化为仅仅是函数原型化的类。一切似乎都很好,除了我似乎无法确定正确的范围。函数得到评估和原型化,但我不确定为什么函数不能抓住全局变量。有没有人对此有任何建议?
答案 0 :(得分:0)
您可以完全依赖require
。
现在,唯一的问题是require有一个内部缓存,只会加载一次模块。但是,您可以使用此快速解决方法强制卸载它:
delete require.cache[require.resolve(myPlugin)];
require(myPlugin);