node exports、module.exports区别即对象相互赋值的区别

exports和module.exports

相同对象的引用关系
var obj={};
obj2=obj;

obj2进行赋值等操作时,obj也会改变,因为连接的都是同一个对象,但如果obj2=null,相当于断开该对象的连接,不影响obj

实际上
exports是指向module.exports,即exports=module.exports
exports={}改变了指向的对象,故exports只能通过.的方式暴露对外变量,module.exports既可以通过.也可以直接赋值
因此使用module.exports=暴露的内容,在引入该文件的模块,可以直接require返回的对象就是暴露的内容
发布了317 篇原创文章 · 获赞 3 · 访问量 7155

猜你喜欢

转载自blog.csdn.net/weixin_43294560/article/details/104100682