我在Nodejs中读了很多关于模块缓存失效的内容,但仍无法弄清楚。 这是一个简短的例子,我无法理解:
//a.js
var x=0;
console.log('loaded');
exports.y = function() {};
//b.js
var v1 = require('./a.js'); //displays "loaded"
delete require.cache[require.resolve('a.js')];
var v2 = require('./a.js'); //DOES NOT display "loaded". WHY?
console.log(v1 === v2); //displays false, so it's a different instance
基本上,我需要的是x在调用之间是一个不同的变量。 消息“加载”不应该显示两次吗?
提前致谢, 克特林
更新 基本上我需要swagger(Rest服务文档生成器)中的这个功能,因为我想在不同的URL上导出更多的API组,并且因为我发现的唯一模块是swagger-node-express,所以它被创建为模块化变量的模块。所以我需要以某种方式完全使它无效,以便能够从相同的代码库生成更多的文档。