垃圾收集器是否会从NodeJS的内存中摧毁所需的模块?

我正在阅读堆栈溢出中有关NodeJS中模块的延迟加载和手动卸载的一些解答,引用的答案之一

节点是单线程的,因此加载模块的内存占用不是每个连接,而是每个进程。 加载一个模块是一次性的把它存入内存。

这是一个足够公平的解释,但是有一个问题,是否有一段时间,旧的未使用的模块(以前需要的,不再用于执行)从caching清除? 垃圾收集器在这种情况下如何工作?

更新

此答案显示了如何从caching中手动删除模块,这也表明模块caching可能不同于常规的内存中对象

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

节点关于模块的文档说,它们被caching(在v5文档中看起来没有什么不同),并且没有提供caching释放其对模块引用的任何机制。 只要有一个对模块的引用(例如,在caching机制中),就像任何其他JavaScript对象一样,它将被保留在内存中。