主要區(qū)別:
1、module.exports 初始值為一個空對象 {};
2、exports 是指向的 module.exports 的引用;
3、require() 返回的是 module.exports 而不是 exports;
node會在運行時自動給模塊文件添加兩個屬性:exports和module.exports;
開始時他們都指向同一個空對象:

image.png

image.png
改變exports的指向:

image.png

image.png
所以說exports和module.exports并沒有什么聯(lián)系,只是開始時指向的是同一個對象!
require引入模塊時引入的是module.exports;

image.png

image.png

image.png
我們可以看到這樣的寫法:
exports = module.exports = {...}
上面的寫法等價于
module.exports = {...};
exports = module.exports;