nodejs中require、exports与module.exports的区分

来源:互联网 发布:psp模拟器 mac 编辑:程序博客网 时间:2024/06/05 05:05

nodejs中require、exports与module.exports的区分


    我所理解的是对于初学者可以console出来,看一看里面结构,自己就会有所顿悟。
话不多少直接上代码,这是add.js
<span style="font-family:KaiTi_GB2312;">var add=function(v1,v2){return v1+v2;}var add2=function(v1,v2){<span style="white-space:pre"></span>return v1*v2;}</span>

此时module对象每个模板都有一个,module属性中有exports,为一个空对象
module可以理解为模块中(也就是js文件中)的一个全局对象
对于module.exports和exports理解

1. module应该是require方法中,上下文中的对象

2. exports对象应该是上下文中引用module.exports的新对象

3. exports.a = xxx 会将修改更新到module.exports对象中

4. exports = xxx 直接改变了 exports的指向

上面这4条揭示了这两个对象的本质。也就是说exports指向module.exports. 如果写exports.a =1, 意味着module.exports.a也等于1


0 0
原创粉丝点击