Nodejs和模块缓存失效

时间:2013-12-11 16:16:06

标签: node.js swagger

我在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,所以它被创建为模块化变量的模块。所以我需要以某种方式完全使它无效,以便能够从相同的代码库生成更多的文档。

0 个答案:

没有答案