如何在运行时释放Node.js模块以节省内存或提高整体性能。
我的应用程序在运行时会在Node.js中动态加载模块,但不会卸载其中的任何模块。我正在寻找这种功能,特别是。在代码加载模块后更新已更改的模块;并卸载可能不再使用的模块。
有什么见解吗?
谢谢。
听起来您正在创建某种插件系统。我将看看Node VM:http: //nodejs.org/docs/latest/api/vm.html
它允许您在沙箱中加载和运行代码,这意味着完成后应重新释放其所有内部分配。
它被标记为不稳定,但这并不意味着它不起作用。这意味着API在将来的Node版本中可能会更改。
例如,基于节点的smtp服务器Haraka使用VM模块来(重新)加载插件。