nodejsにおけるmodule.exportsとexportsの違いをまとめました.

659 ワード

requireはmodule.exportsのオブジェクトを参照しています.exportsのオブジェクトではなく、nodejsで値を導出するとき、次の2つの方法をよく使います.
//    ,  exports  module.exports  
//     exports = a,      module.exports       ,      module.exports     
exports.a = function() {
  console.log('a')
}
//      
let exports;
exports = module.exports = {}
exports.a = function() {
  console.log('a')
}
     

//    ,    
module.exports = { a: 'a' }
まとめ:2つの違いはexportsが変数で、module.exportsを指しています.module.exportsmoduleオブジェクト上のexports属性{}で、共通点が最終的に導出されたのはmodule.exportsの値です.