exports和module.exports的区别

exports和module.exports的区别

  • 1、module.exports初始值是个空对象{}exports一开始是指向module.exports的,所以exports初始值也是个空对象{}
  • 举例:
    moduleexports这两个对象是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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容