exportsとmodule.exportsの違い

3522 ワード

exportsの役割は変数または関数を暴露することができます.
一つ一つ暴露しなければならない.
たとえば:module1.js
exports.obj = {
     
    name: '  ',
    age: 18
};

exports.fun = function (a) {
     
    console.log("    ")
    console.log('      :' + a)
}
nodejsにおいては、exports.xxxを通じて露出しなければならない.
オブジェクトを大量に露出するmodule.exportsはこのように書くことができます.
module.exports = {
     
    obj: {
     
        name: '  ',
        age: 18
    },
    fun: function (a) {
     
        console.log("    ")
        console.log('      :' + a)
    }
}
もう一つのjsファイルにおいて、上記で定義されたobj funを使用する必要がある場合、requiresを通じて、module2.js
var m1 = require('./module1')

m1.fun(1) //   module1.js