exports 和 module.exports 的區(qū)別
1恰梢、module.exports 初始值為一個(gè)空對象 {}
2藻烤、exports 是指向的 module.exports 的引用
3、require() 返回的是 module.exports 而不是 exports
我們經(jīng)乘郏看到這樣的寫法:
exports = module.exports = somethings
上面的代碼等價(jià)于:
module.exports = somethingsexports = module.exports
原理很簡單椭微,即 module.exports 指向新的對象時(shí),exports 斷開了與 module.exports 的引用盲链,那么通過 exports = module.exports 讓 exports 重新指向 module.exports 即可蝇率。
module.exports也可以像exports的用法那樣,可以替代exports的用處刽沾。module.exports包含exports本慕,反過來exports不能替代module.exports。