向外共享模块作用域中的成员

module对象

每个.js自定义模块都有一个module对象,module对象存储了和当前模块有关的信息,打印如下:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjM0MDA2MTE=,size_18,color_FFFFFF,t_70,g_se,x_16

 

 module.exports对象

在自定义模块中,可以使用module.exports对象,将模块内的成员共享出去,供外界使用

外界用require()方法导入自定义模块时,得到的就是module.exports所指向的对象

示例:

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjM0MDA2MTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 

共享成员的注意点

 使用require()方法导入模块时,导入的结果,永远以module.exports指向的对象为准

如果重新编写了module.exports指向的对象,则为最新编写的内容:

module.exports = {
    nikename: 'zs',
    age: 20,
    sayHi() {
        console.log('Hello');
    }
}

 

exports对象

由于module.exports单词写起来比较复杂,为了简化向外共享成员的代码,Node提供了exports对象,默认情况下,exports和module.export指向同一个对象,最终共享结果,还是以module.exports指向的对象为准

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjM0MDA2MTE=,size_20,color_FFFFFF,t_70,g_se,x_16

 

exports 和 module.exports 的使用误区

时刻谨记,require()模块时,得到的永远是module.exports指向的对象

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNjM0MDA2MTE=,size_20,color_FFFFFF,t_70,g_se,x_16

注意: 为了防止混乱,建议不在同一个模块中同时使用exports和module.exports

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值