nodejs . module.exports

//utils.js
let a = 100; console.log(module.exports); //能打印出結果爲:{} console.log(exports); //能打印出結果爲:{} exports.a = 200; //這裏辛苦勞做幫 module.exports 的內容給改爲 {a : 200} exports = '指向其餘內存區'; //這裏把exports的指向指走 //test.js var a = require('/utils'); console.log(a) // 打印爲 {a : 200}複製代碼

從上面能夠看出,其實require導出的內容是module.exports的指向的內存塊內容,並非exports的。
簡而言之,區分他們之間的區別就是 exports 只是 module.exports的引用,輔助後者添加內容用的。bash

用白話講就是,exports只輔助module.exports操做內存中的數據,辛辛苦苦各類操做數據完,累得要死,結果到最後真正被require出去的內容仍是module.exports的,真是好苦逼啊。ui

其實你們用內存塊的概念去理解,就會很清楚了。spa

 

 

 

而後呢,爲了不糊塗,儘可能都用 module.exports 導出,而後用require導入。code

相關文章
相關標籤/搜索