- exports、module.exports遵守的是CommonJS規(guī)范
- export、export default 是ES的規(guī)范
Node 模塊遵循的是CommonJS規(guī)范,所以Node里使用的是exports 和 module.exports
CommonJS定義的模塊分為:模塊標(biāo)識(shí)(module)、模塊定義(exports)、模塊引用(require)
- module.exports 初始值為一個(gè)空對(duì)象 { }
- exports 指向的是module.exports 的引用
- require 返回的是module.exports 而不是exports
文檔解釋:

module.exports

exports
即: 為了方便,Node為每個(gè)模塊提供了一個(gè)exports變量,指向module.exports:等同于在每個(gè)模塊頭部有一行這樣的命令:
var exports = module.exports
于是可以直接在exports對(duì)象上添加方法,表示對(duì)外輸出的接口,如同在module.exports上添加一樣
但如果直接將exports指向另一個(gè)變量,就切斷了exports和 module.exports之間的聯(lián)系,require引入的只是module.exports, exports的變化與reqiure引入無(wú)關(guān)了。