导出模块exports和module.exports的两个对象的关系

1.初始exports和module.exports是指向同一块内存区域,其内容都是一个空对象

以图为例:左边为定义并导出的模块 右边为导入的模块

图示:

我们在控制台打印:exports === module.exports // 输出是 true

所以两种写法的效果是一样的

写法一:mymodule.js

   exports.fn = function(){ }
   exports.a = 3.1415926

写法二:mymodule.js

 module.exports.f = function(){ }
 module.exports.pi = 3.1415926

2.exports和module.exports传入不同内容会出现的情况

1.如果exports.a=100 module.exports={b:200},此时它们就分开了

图示:

导入时,以moudle.exports为准. 导出的结果会是{b:200}

2.如果exports.a=100 module.exports.b=200,此时它们就在同一个对象上了

图示:

导入时,以moudle.exports为准. 此时导出的结果是{a:100,b:200}

3.如果exports={a:100}    module.exports.b=200,此时它们分开了

图示:

导入时,以moudle.exports为准. 此时导出的结果是{b:200}

结论:

那么我们在导出模块过程中,建议只用一种方式(建议直接使用module.exports)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值