module对象是node自带的模块化对象,该对象下有一个空的对象,exports
module.exports和exports本质上是相等的,exports你可以看成是一个引用,指向的是module.exports,给大家打印一下
但是如果在同一个文件中使用两种导入,给exports添加的属性和方法,也会添加在module.exports上,但是添加在module.expoets上的属性和方法,不会添加在rxports上
可复制版本
let a = 20;
let b = function(){
console.log("模块A中的b函数");
}
module.exports = {
a
}
console.log(exports);
console.log(module.exports);
console.log(module.exports==exports);
结果如上(这是给module.exports添加a属性,)
接下来是给exports添加属性(也会添加到module.exports里)
可复制版本
let a = 20;
let b = function(){
console.log("模块A中的b函数");
}
exports.a = {
a
}
console.log(exports);
console.log(module.exports);
console.log(module.exports==exports);
由此可见在同一个文件中使用两种导入,给exports添加的属性和方法,也会添加在module.exports上,但是添加在module.expoets上的属性和方法,不会添加在rxports上