位置: 编程技术 - 正文

详解Node.js中exports和module.exports的区别(node.js promise)

编辑:rootadmin

推荐整理分享详解Node.js中exports和module.exports的区别(node.js promise),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:nodejs yield,node中的ejs,node.js中的express,node js excel,node中的ejs,node expoter,node中的ejs,node.js ejs,内容如对您有帮助,希望把文章链接给更多的朋友!

今天看了下node.js的require方法的源码,终于搞清楚exports和module.exports的区别了。

我们知道,node.js的模块暴露有两种方法。

1. 方式一:用exports

2. 方式二:用module.exports

如果将第一种方式的exports按照第二种方式写成下面这样就会出错:

exports和module.exports的初始值指向的是空对象,即{}。从源码可以看到,其实模块的require方法实质上是调用了_load方法,而_load方法,最终返回的是module.exports

详解Node.js中exports和module.exports的区别(node.js promise)

来分析一下出错的原因。

由于最开始的时候,exports和module.exports都指向同一个对象。

第一种方式,是在给这个空对象{}添加属性,又因为module.exports也是指向这个对象的,所以最终require方法返回的module.exports是指向了这个具有log方法的对象的,可以引用到模块。

第二种方式是让module.exports指向一片新的内存空间,exports指向的仍然是{},但是由于require方法返回的是module.exports,所以最终也能引入模块。

但是最后那种写法是让exports指向一片新的内存空间,module.exports指向的仍然还是{},那么最终require方法是将module.exports返回,所以会导致报错,说s不是一个function。

所以:

请牢记:require方法返回的是module.exports!

标签: node.js promise

本文链接地址:https://www.jiuchutong.com/biancheng/379413.html 转载请保留说明!

上一篇:nodejs和C语言插入mysql数据库乱码问题的解决方法(nodejs来一打c++扩展)

下一篇:利用node.js本地搭建HTTP服务器(本地 node js 启动vue)

  • 税务师考试各科老师推荐
  • 进项票丢了,假如税不抵了,怎么做账
  • 小微企业的企业所得税税收优惠政策
  • 国际货物运输免征所得税
  • 开普票要个人身份证号吗
  • 残疾人保障金计算方法
  • 土增税清算地下室怎么扣除
  • 受托开发软件产品免征增值税
  • 工程前期土地平整的会计分录怎么写?
  • 支付货款订金入什么科目核算与会计分录
  • 法院拍卖房法院有什么义务和责任
  • 公司理财收益账务处理
  • 为员工买的人寿保险怎么做账
  • 私人转公账可以开发票吗
  • 白酒消费税税率多少钱一吨
  • 财税2012年第15号文
  • 小规模纳税人出售不动产征收率
  • 企业所得税季度预缴纳税申报表
  • 哪些开普通发票
  • 无形资产属于什么行业
  • 企业用户纳税人识别号不合法
  • 应交增值税进项税额转出
  • 资产总额小于所有者权益合计
  • 上个月开的发票这个月还能用吗
  • 小规模纳税人缴税计算
  • tplink无线网卡驱动802.11n
  • 利润分配会计处理时间
  • 生产车间的各种费用
  • win11自带的播放器
  • linux文件权限控制
  • 查补以前年度收入
  • blender不支持win7
  • 不征税收入税收政策
  • php单独运行
  • php验证码显示不出来
  • 设备租赁的方式有哪些
  • 财政预算单位可以既是省级又是中央
  • 股东以固定资产入股会计处理
  • 建筑行业现在还能斤不
  • 借应付职工薪酬贷其他应收款
  • 残疾人保障基金减免政策
  • Python web开发基础教程的心得
  • 理财资金用途
  • 应收账款计提减值准备的方法
  • 特种设备年检费怎么开具发票
  • 建筑业委托加工合同范本
  • 个体户季度免多少税
  • 定额税率举例子
  • 一般纳税人购入需要安装的生产设备,其入账价值包括
  • 实收资本变化
  • 价外费用中的返利是什么
  • 固定资产出售的收入属于收入吗
  • 委托收款的业务场景有哪些
  • 法人银行贷款
  • 赔偿金是营业外收入吗
  • 不能收回的应收账款
  • 建筑劳务没有合同能起诉吗
  • windows vista
  • freebsd服务器搭建
  • 提高系统能力
  • win7不能复制文件怎么办
  • xp系统电脑文件损坏怎样修复
  • 用xp系统打造
  • linux进程和线程底层实现原理一样吗
  • linux基金会什么时候成立
  • windows8应用商店用不了
  • cocos2d怎么用
  • unity接入安卓sdk
  • 性能优化实验
  • NGUI简介
  • python多线程异常后所有线程均不往下执行
  • jquery div滚动条
  • each和each
  • jQuery.Callbacks()回调函数队列用法详解
  • 广东省电子税务局登录方式
  • 出口企业的增值税怎么算
  • 变更税务登记后多长时间生效
  • 四川地方税务 副局长 晓宏
  • 湖北中税网控股股份有限公司
  • 五险一金和公积金冲突吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设