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