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暴露的函数