位置: 编程技术 - 正文

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

  • 辅导期增值税一般纳税人是什么意思
  • 购买免税产品的app
  • 个体户缴纳经营所得个税怎么算的
  • 制造费用在借方表示什么
  • 增值税电子普通发票和增值税专用发票区别
  • 增值税进项加计扣除计入哪个科目
  • 一般纳税人建筑工程税率是多少
  • 视同销售收入计入会计利润吗
  • 分税制的内容有哪些?
  • 对方公司开发票我方未付款如何做分录?
  • 领用自产应税消费品负担的消费税计入在建工程成本吗
  • 购买商标权税率多少
  • 在建工程进项税额
  • 出口预收货款发生的时间和报表上的时间不一样怎么办
  • 外购的半成品属于原材料吗
  • 托收承付是收到钱了吗
  • 财务人员最重要的三点
  • 增值税普通发票税率
  • 个人开劳务发票要同时交个税吗?
  • 财政返还政策
  • 小型微利企业所得税优惠政策2023
  • 金税盘怎么清盘视频
  • 外籍人士享受满五唯一吗
  • 企业重组有什么好处
  • 本月报销能用下月报销吗
  • 什么企业不可以开通信保订单服务
  • Secure Boot什么意思?BIOS中Secure Boot灰色无法更改解决方法详解
  • thinkphp5开发教程
  • 简述php可支持哪些数据类型
  • 2020税务预警后如何解除
  • 电脑输入法无法输入中文怎么办
  • windows11怎么查询激活时间
  • 期间损益结转有余额
  • 税收滞纳金可以抵税吗
  • 巨大的冰柱造句
  • php imagecopymerge
  • antd-vue-pro
  • 城建税教育费附加什么时候交
  • php中的函数
  • 权重函数公式
  • php一个文件搞定两个文件
  • mapbox怎么用
  • 银行承兑是什么意思
  • 《开具红字增值税专用发票信息表》纸质
  • 小规模纳税人季报需要报什么
  • 以个人名义和公司名义入股的利弊
  • 一般纳税人怎样申请简易计税
  • 发票校验码是什么在哪
  • 企业所得税预缴可以不交吗
  • 残保金相关内容有哪些
  • 房产契税什么时候退税
  • 工会赞助费
  • 没有付款的费用怎么入账
  • 借调人员费用列支
  • 开办费入哪个会计科目
  • 百旺红字专用发票怎么开
  • 销项负数发票如何勾选
  • 什么时候用税前项目举例说明工程项目
  • 银行卡里的钱怎么转出来
  • mssql server .ldf和.mdf的文件附加数据库的sql语句
  • mysql修改版本号
  • windows vista好用吗
  • linux 磁盘使用
  • win10预览版21301bug
  • 格式化快速格式化好吗
  • xp系统光盘读不出来
  • shnlog.exe - shnlog是什么进程 有什么用
  • win10一周年版本
  • window10显示重启提示
  • Extjs中RowExpander控件的默认展开问题示例探讨
  • android实战项目
  • 分享一些常用的文件
  • node. js教程
  • express常用中间件
  • jQuery插件是什么
  • jquery 是否显示
  • 说一说我下乡插队时的那点事
  • 税务局24小时人工服务电话
  • 国税局税务大厅电话
  • 文山市税务
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设