位置: 编程技术 - 正文

详解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)

  • 利润分配未分配利润和未分配利润的区别
  • 季度所得税申报表里的营业收入是什么?
  • 企业残保金什么情况下可以减免
  • 增值税申报表中应税货物销售额
  • 支付外国公司费用要交税吗
  • 购买电商平台
  • 申报后发现未勾选发票
  • 合同违约金账务处理
  • 计提福利是什么
  • 大额承兑换小额承兑会计分录
  • 小规模纳税人查账征收所得税税率
  • 专用发票的有效期是几年
  • 餐费可以列入哪些费用明细
  • 无偿赠与钱要交税吗
  • 利息保障倍数为负数说明什么
  • 现金存入对公账户用途写什么
  • 试生产期间的账务处理
  • 服务费计入什么收入
  • 小企业会计准则成本核算方法选什么
  • 给外国教授发邮件最后一句
  • 库存商品进货价怎么算
  • 公司的实收资本是借款,但是利息由公司付,会计怎么做账
  • 公司上市前缩股
  • XP系统,右下角本地连接图标消失的解决办法
  • 进项税年末需要结转么
  • 减免税额科目有没有余额
  • 为什么WIN10系统打在画面进不去
  • php在线阅读器源代码
  • 外资企业出租房产税优惠
  • php socket编程
  • phpopendir
  • php数据库删除数据
  • vue3中props
  • 优先股票与普通股票相比,其优先权主要指
  • 【简陋Web应用2】人脸检测——基于Flask和PaddleHub
  • typescript tsconfig
  • 关联公司代缴社保会计处理
  • C语言中指针变量指向字符串时是有效字符的长度吗
  • 装修公司管理费是什么
  • 应交税款怎么计算
  • mybatis怎么用
  • 代销货物如何进账
  • 房产税中出租房产原值怎么算
  • 缴增值税的账务处理
  • 服务行业人工费一般控制在多少合适
  • 固定资产以前年度多计提怎么办
  • 预收款开发票,不确认收入可以吗?
  • 车辆处置缴纳增值税税率
  • 公司交残保金是什么意思
  • 销售款退回会计分录
  • 运输服务和运输费有什么区别
  • 内部转账单怎么填制
  • 法人能去税务局开个人发票吗
  • 厂房和设备折旧计入什么费用
  • 银行承兑汇票托收凭证
  • 电脑svchost占用cpu很大
  • 一切为了任务
  • mac怎么传输文件夹
  • linux虚拟局域网搭建
  • solaris版本查询
  • 电脑总是关不了怎么办
  • winxp关机立马自动重启
  • w8系统文件夹怎么设置密码
  • win 10设置提醒
  • win10系统出现蓝屏
  • cocos creator源码
  • #pragma UNROLL 4
  • node.js gui
  • node.js报错998
  • Node.js中的包管理工具是什么
  • 文件名可以包含*吗
  • 安卓修改udid
  • jquery的each循环
  • python中的类怎样理解
  • python socket用法
  • 重庆税务局发票作废
  • 未开票企业怎么做账
  • 辽宁省大连市地震
  • 龙岗区龙岗税务局地址
  • 2020年国税和地税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设