如何理解require module.exports
data.js
function Data(data){
console.log("init a new Data()");
this.name = data.name;
this.id = data.id;
}
module.exports = {
player: new Data({id:1,name:'xxx'})
}
}
a.js
require('data')//这里就直接输出init a new Data()
接着在执行b.js
require('data')//现在没有输出init a new Data()
如何理解这个机制,module.exports只有第一次被require的时候回去初始化数据,以后被缓存了直接拿来用?
1 回复
这么理解没问题。
需要深入理解的话看源码吧
https://github.com/nodejs/node/blob/master/lib/module.js