exports和module.exports的区别
每个模块中都有一个module对象
module对象中有一个exports对象
我们可以把需要导出的成员挂载到module.exports接口对象中
也就是:moudle.exports.xxx=xxx的方法
但是每次这样都太麻烦
所以node为了方便,同时在每一个模块中都提供了一个成员exports
export===moudle.exports结果为true
所以对于moudle.exports.xxx=xxx的方法完全可以exports.xxx=xxx
当一个模块需要导出单个成员的时候,这个时候必须使用module.exports方法,不要使用exports=xxx不管用
因为每个模块最终向往return的是module.exports
而exports只是module.exports的一个引用
即便exports.xxx重新赋值,也不会影响到module.exports
但有一种方法比较特殊exports=module.exports 这个用来重新建立引用关系的
moudle.exports={
a:123
}
//重新建立exports与moudle.exports之间的引用关系
exports=moudle.exports
exports.foo='bar'