node.js - 卸载代码/模块

标签 node.js

我很好奇是否有什么好的方法可以在使用模块后卸载它。在某些情况下,我需要使用引入大量代码的模块,但它们很少使用(比如作为管理工具),但我犹豫是否使用它们,因为之后它们可能只会浪费内存,这可能会更好在别处使用。有什么方法可以卸载它们,无论是显式卸载还是在一段时间未使用时允许系统卸载?

最佳答案

是的,可以直接访问模块缓存:

var name = require.resolve('moduleName');
delete require.cache[name];

请注意,如果您的代码包含对您想要删除的这些模块公开的任何内容的引用,则它不会被清理。

(顺便说一句:在表面之下,require.resolverequire.cache 只是 Module._resolveFilename 的代理>Module._cache 分别是 Module 是核心模块加载器,即 require('module').)

关于node.js - 卸载代码/模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6676612/

相关文章:

node.js - Nodejs : Multiple One to many in MongoDB

javascript - 如果包没有依赖项,执行 npm install 是否有意义?

javascript - 将 Promise 挂起作为变量中的值

javascript - 当 openssl 命令行执行时,Node.js 验证功能不验证签名

mysql - 在不破坏连接的情况下使用池会使系统挂起

javascript - YouTube使用 Node js自动上传

node.js - 仅在 Linux 上将原始图像字节馈送到 ffmpeg rawvideo 失败,缓冲区大小无效

Java + Node 模块

javascript - Node 中的 Map-Reduce

javascript - 限制 AWS Cognito 用户池 javascript api 的请求来源