module.exports 对象
在自定义模块中,可以使用 module.exports 对象,将模块内的成员共享出去,供外界使用外界用 require0方法导入自定义模块时,得到的就是module.exports 所指向的对象
//在一个自定义模块中,默认情况下module.exports = {}
// 向 module.exports 对象上挂载 username 属性
module.exports.username = 'zs'
// 向 module.exports 对象上挂载 sayHello 方法
module.exports.sayHello = function() {
console.log('Hello!')
}
const age = 20
module.exports.age = age
// 在外界使用 require 导入一个自定义模块的时候,得到的成员
// 就是 那个模块中,通过 module.exports 指向的那个对象
const m = require('./自定义模块.js')
console.log(m)//{lusername:'zs',sayHello:[Function],age:20 }
ps:使用require方法导入模块时,导入结果永远以module.exports指向对象为准
//模块
module.exports.username = 'zs'
module.exports={
age:'20'
}
//使用
const m = require('./自定义模块.js')
console.log(m)//{age:20 }
exports 对象
由于 module.exports 单词写起来比较复杂,为了简化向外共享成员的代码,Node 提供了 exports 对象。默认情况下,exports 和 module.exports 指向同一个对象。最终共享的结果,还是以 module.exports 指向的对象为准。(exports === module.exports)
ps:使用require()模块时,得到的永远是module.exports指向的对象
//-------------1-------------------
//模块
exports.username = 'zs'
module.exports={
age:'20'
}
//使用
const m = require('./自定义模块.js')
console.log(m)//{age:20 }
//--------------2------------------
//模块
module.exports.username = 'zs'
exports={
age:'20'
}
//使用
const m = require('./自定义模块.js')
console.log(m)//{username:'zs' }
//--------------3------------------
//模块
exports.username = 'zs'
module.exports.age = 20
//使用
const m = require('./自定义模块.js')
console.log(m)//{username:'zs', age:20 }