位置: 编程技术 - 正文

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

  • 收到退个税手续费要交增值税吗?
  • 服务型公司要交多少税
  • 车辆购置税会计核算
  • 金税盘维护费抵税账务处理
  • 小规模纳税人缴纳上月应交增值税
  • 冲红票需要给购方吗
  • 公益性捐赠可以结转几个年度
  • 商誉转销会计分录
  • 境外劳务输出有哪些类型
  • 差旅费补助计入什么科目
  • 未退还的保证金怎么处理
  • 收到支票怎么处理
  • 年平均息税前利润是什么意思
  • 海关票怎么认证
  • 机械租赁有什么机械
  • 核定征收如何做账务处理
  • 会计中的贷款核算分录是什么?
  • 原本可以打开的软件
  • 补交地税多少钱
  • win10更新错误0x8000402
  • 新版win10任务栏
  • consolo application
  • 在认缴期限内未出资是否违法
  • 错账是什么
  • 项目筹建期间费用计入什么科目
  • vue引用svg矢量图
  • jquery和php
  • 发票复核和收款人未填写
  • 商业企业促销费包括哪些
  • pip清华源安装
  • svc语法
  • vericut9.0环境变量
  • yolo改进方法
  • vue项目首屏加载过慢
  • 常用的绘图比例有哪些?
  • 幼儿园免征增值税账务处理
  • 应交税费未交增值税
  • 其他发票包括哪些
  • 银行收付款凭证是什么
  • 增值税专票不认证后果
  • 转让股权个税的计税基础
  • 二手房过户需要户口本吗
  • 固定资产分期付款会计处理?
  • 委托加工应税消费品收回后直接销售
  • 存货报废应如何进行账务处理
  • 其他综合收益会影响未分配利润吗
  • 利润敏感性分析法可以帮助企业有哪些决策?
  • 2019员工旅游费最新规定
  • 增资减资改变股东要交税吗
  • 因管理不善的材料怎么办
  • 收据可以入账吗,符合税法规定吗
  • 本月开红字发票如何报税?
  • 购买会计软件如何入账
  • 暂估入库估多了怎么办
  • 企业年金管理费计入什么科目
  • 购货方与付款方不一致
  • 非营利医疗机构免征哪几种税
  • sqlserver数据库和mysql区别
  • centos7installation怎么配
  • /wlan direct
  • win7防病毒设置在哪
  • ubuntu系统怎么开机
  • centos基本环境
  • linux修改系统日期命令
  • winxp不能正常启动
  • win10系统忘记电脑密码
  • linux的web服务器
  • 如何设置打开wincc不弹出项目管理
  • Ubuntu 下搭建网站服务器
  • 探索世界怎么玩
  • python中deque
  • javascript怎么学
  • android开发是什么意思
  • android错误报告
  • 实现断点续传的工具软件
  • 美国海关税收起征点
  • 开票风险预警机制蓝色预警怎么办
  • 贵州省国家税务局电子税务局官网
  • 烟叶收购价款
  • 工商注册app是不是在手机上可以完全操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设