dimmer

 

module.exports和exports的区别

在学习Node.js时,经常能看到两种导出模块的方式:module.exportsexports

在文件a.js中用exports或module.exports导出的对象(方法、变量),可以在另一个文件b.js中通过require('./a')引用

moduleexportsNode.js给每个js文件内置的两个对象。可以通过console.log(module)console.log(exports)打印出来。如果你在main.js中写入下面两行,然后运行$ node main.js:
 
require引入的对象本质上是module.exports。这就产生了一个问题,当 module.exportsexports指向的不是同一块内存时,exports的内容就会失效
比如:
module.exports = {name: '叔叔'};
exports = {name: '阿姨'}

此时module.exports指向了一块新的内存(该内存的内容为{name: '叔叔'}exports指向了另一块新的内存(该内存的内容为{name: '阿姨'})。require得到的是{name: '叔叔'}
 
结果是
引入  let people = require('./people');
      console.log(people);//输出:{name: '叔叔'}


 

posted on   布灵的大乔  阅读(94)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!

导航

统计

点击右上角即可分享
微信分享提示