位置: 编程技术 - 正文

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

  • 哪些收据可以入帐
  • 政府返还土地款的会计处理
  • 税前利润是什么利润
  • 设立登记核准通知书未签名不能办理其他业务
  • 住房租金专项附加
  • 弥补以前年度亏损金额从哪里来的
  • 职工福利费专票账务处理
  • 申报从租计征的房产税必须提前备案吗
  • 支票罚金
  • 其他综合收益和综合收益的关系
  • 企业所得税的应纳税所得额的扣除项目有哪些
  • 捐赠和赞助业务的税务处理怎么做?
  • 月初发票认证能抵扣吗
  • 个体生产经营所得税税率2023
  • 附税分录怎么做?
  • "明股实债“的税务风险,你真的清楚吗?
  • 发票密码区出来了一点
  • 小规模企业增值税税率
  • 中药材免税还能抵扣收购发票
  • 多提税金的具体分录
  • 预收账款长期挂账如何处理
  • 印花税的计税依据是销项和进项的金额
  • 电脑自动更新系统怎么关闭
  • swstrtr.exe - swstrtr是什么进程
  • 月末结转本月已销产品成本
  • linux GTK、KDE、Gnome、XWindows 图形界面区别介绍
  • 成本核算的一般步骤
  • windows7旗舰版为什么很多东西打不开
  • 进口小汽车消费税率
  • 债券到期收回本息计算单
  • 计提未支付的费用
  • 计算机网络拓扑结构有哪些
  • php连接数据库实现登录注册
  • 使用php进行mysql数据库编程的基本步骤
  • 出租车发票能不能多开
  • 发票密码区如何调整
  • css加小手
  • firewall enable
  • 工资的补贴是多少
  • phpcms生成html
  • 取得剧本使用费怎么做账
  • 计提坏账准备方法变更属于会计估计变更吗
  • 质保金挂账是否需要发票
  • 税控盘每年的服务费可以全额抵扣吗
  • 补缴以前年度附加税怎么申报
  • 读取注册表失败,请检查注册表
  • 建筑工程施工围挡安装
  • 租单位的房子怎么办营业执照
  • 油卡预付卡发票能入费用吗怎么入账
  • 出口样品视同销售如何做会计处理?
  • 施工总包能分包土方吗
  • 开票金额大于收入金额
  • 招待费进项税额可以抵扣吗
  • 专用发票下载怎么操作
  • 固定资产计提折旧的原则
  • 营业外收入的账户结构
  • 服务佣金最高可以收多少
  • 一次性开票分期确认收入已什么做原始凭证
  • 会计工作移交的时候需要有谁在场
  • 税务会计应该设什么岗位
  • sql server的数据库
  • 加入跨子网路由什么协议
  • ubuntu20.04怎么用
  • G40/50-70、SR1000随机Linux改安装Win7系统的实现方法
  • 如何使用U盘装机
  • win32k.sys是什么
  • win8无法安装net4.7
  • win7空间不足c盘
  • 蓝牙鼠标不能动了
  • jquery技巧
  • qat开发
  • js的getattribute
  • javascript 二维码
  • javascript基础
  • bootstrap与Jquery UI 按钮样式冲突的解决办法
  • js 实现复制到粘贴功能
  • javascrip语言
  • 浙江省电税务局电话
  • 政府对国税局的支持
  • 关于个体户的个人所得税的最新政策法规
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设