美文网首页
nodejs中module.exports与exports的区别

nodejs中module.exports与exports的区别

作者: 梦里花花不语 | 来源:发表于2018-02-11 11:54 被阅读0次

require引用的是module.exports这个对象,而不是exports对象
当我们在nodejs中导出某个值的时候,经常会使用下面两种下法

// 写法一,通过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' }

总结:两者的区别在于exports是变量,指向module.exports,而module.exportsmodule对象上exports属性{},共同点最终导出的都是module.exports的值

相关文章

网友评论

      本文标题:nodejs中module.exports与exports的区别

      本文链接:https://www.haomeiwen.com/subject/vssktftx.html