我使用require导入包含长数组的模块。
使用后我成功清除缓存并删除了删除阵列,但在每个新的所需模块上,我的内存使用量正在增加。
我如何防止这种情况?
****编辑***** 已添加代码
Array1.map(function(val,index){
var requiredModuke = require("../moduleLocation/"+index)
var path = resolve.sync("../moduleLocation/"+index);
if (path){
console.log("Path to module found:", path);
}
setTimeout( function(){
delete require.cache[require.resolve(path)]
var numOfModulesLoaded= Object.keys(require.cache).length
console.log(numOfModulesLoaded)
},index*8000 );
})
答案 0 :(得分:2)
node.js缓存模块,需要从缓存中删除才能释放内存。
delete require.cache[require.resolve('ModulePath/ModuleName')]
检查所有缓存/加载的模块
console.log(require.cache);