位置: 编程技术 - 正文

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

  • 缴纳汇算清缴所得税怎么做账
  • 如何申请一般纳税人
  • 销售财务软件的公司怎么做账
  • 统一机构信用代码查询系统
  • 印花税交完有什么凭证
  • 个人缴纳工会会费比例
  • 企业合并的被合并方会计分录
  • 长期股权投资属于金融资产吗
  • 商场交的房租押金可以退吗
  • 租赁公司扣押金
  • 税务管理相关知识
  • 开淘宝注册公司需要什么
  • 购买固定资产增值税可以抵扣
  • 营改增对企业的影响案例
  • 企业如何避免风险
  • 自有房产墙面出租,需要缴纳房产税吗?
  • 购进电费管理费会计分录
  • 个体工商户开票免税额度是多少
  • 增值税发票和电子发票都可以报销吗
  • 2019一般纳税人和小规模纳税人的区别
  • 投资的子公司亏损注销
  • 如何升级mac系统到10.12
  • linux如何开启端口
  • 分享php入门的学校有哪些
  • 蓝牙有哪些功能
  • 超率累进税率和超倍累进税率
  • 企业收购特殊税种有哪些
  • 增值税普通发票和专用发票有什么区别
  • 圣克鲁斯河特点
  • php+oracle
  • php如何实现mysql数据的删除
  • 企业所得税的基本税率是多少?
  • 工业企业库存商品的初始入账成本有
  • 公司收加盟费合法吗?
  • postman操作流程
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • PHP中set_include_path()函数相关用法分析
  • 货真价实的话
  • 企业基本户是对公账户吗
  • 刘亦菲生日当天发素颜照
  • uniapp组件使用
  • 服务业按什么结算工资
  • 预缴税款是什么意思
  • 企业研发费用的优惠政策
  • MySQL中create table as 与like的区别分析
  • 行政单位拨出经费的规定
  • 建筑企业需要缴纳的税种
  • 应交税金等于销项减进项吗
  • 其他应付款贷方正数表示什么意思
  • 一般纳税人只开普票不开专票免税
  • 低值易耗品的金额
  • 事业单位企业所得税汇算清缴怎么做
  • sql server数据库怎么导出
  • 简单基是什么
  • linux的lvm扩容
  • xp注册表损坏怎么修复
  • 如何设置windows启动密码
  • 开机后cpu占用高
  • Win10预览版拆弹
  • python sed
  • linux的hostname(主机名)修改详解
  • win7系统有自带的杀毒软件吗
  • sendmail邮件服务器在虚拟机的哪个位置
  • -f linux命令
  • 如何禁用系统
  • python挑战
  • Node.js Sequelize如何实现数据库的读写分离
  • 让动画不再僵硬的软件
  • 英语中our和my的区别
  • 笔记本等待网络准备好
  • jquery?
  • vr虚拟现实技术
  • android studio i使用
  • android drawpath
  • 总结网络io模型的特点
  • 税务解除非正常户罚款多少
  • 如何抵扣税款
  • 税务申报网上申报
  • 依法行政的观念
  • 增值税可以抵扣多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设