nyx_server
Version:
Node内容发布
38 lines (33 loc) • 1.15 kB
JavaScript
/* global __dirname */
var path = require("path");
module.exports = clearRequireCache;
var compareDir = path.resolve(__dirname , "..");
console.log("compareDir" ,compareDir)
function cleanCache(modulePath) {
var mod = require.cache[modulePath];
//remove children
if(mod && mod.children){
mod.children.length = 0;
}
//remove require cache
delete require.cache[modulePath];
// clear module cache which dependents this module
for(var fileItem in require.cache){
var item = require.cache[fileItem];
if(item && item.children && item.children.indexOf(mod) && fileItem.indexOf(path.join("core","Cache"))<0){
cleanCache(fileItem);
}
}
}
function clearRequireCache(){
var cache = require("../Cache");
cache.clear();
var _executePath = __dirname;
["Template.js" , "TemplateLoader.js" , "TemplateContent.js" ,
"ProjectLoader.js" , "Project.js" ,
"ChipLoader.js" , "Chip.js" , "ProjectMatchService.js"
].forEach(function(moduleName){
var fullpath = path.resolve(_executePath ,".." , moduleName);
cleanCache(fullpath);
});
}