【发布时间】:2021-09-21 02:53:23
【问题描述】:
是否有可能的方法来停止/中止/终止所需/加载的模块?
我在这里 (https://stackoverflow.com/a/6677355/5781499) 找到了一些东西:
var name = require.resolve('moduleName');
delete require.cache[name];
但这不会停止/中止正在运行的计时器或类似的东西。 它只是继续做脚本所做的事情。
我需要这个的原因,我想实现一个插件系统,您可以在其中启动和停止插件。
“启动”很简单,只需加载require(...) 代码即可。
但是停止插件正在执行的所有操作的最佳方法是什么?
虽然我有一个关于 VM 的信息,但是在节点中没有办法中止任何一个 vm 执行。
我想到的下一件事是“工作线程”。他们提供了一个.terminate 方法来满足我的需要。 (但现在我必须处理进程间通信,保持一切同步非常复杂)
如果有人能给我一个提示/提示,那就太棒了。
【问题讨论】:
标签: node.js plugins abort worker-thread