exports和module.exports的区别
- 1、
module.exports初始值是个空对象{},exports一开始是指向module.exports的,所以exports初始值也是个空对象{};
- 举例:
module和exports这两个对象是Node.js的文件中默认隐式存在
console.log(exports);
console.log(module);
//在终端运行:
{}
Module {
id: '.',
exports: {},
...
}
- 2、通过
require得到的是module.exports中的内容,而不是exports的内容。即如果module.exports当前没有任何属性的话,exports会把属性赋给module.exports,如果module.exports中已经存在一些属性的话,exports中的属性会被忽略
- 举例:
//把下面的内容放到a.js:
exports.add = 123;
module.exports={
hello:1234
}
//然后在另一个b.js文件中执行它:
var rocker = require('./a.js');
console.log(rocker.add); //undefined
console.log(rocker.hello); //1234
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。