在node中,需要记住,在使用exports和module.exports的时候,实际输出的是module.exports。

exports指向module.exports,是module.exports的引用,所以,当使用 exports.a = x 的时候,通过引用关系,造成了module.exports.a = x。当使用 exports = x 的时候,造成了exports不再指向module.exports,所以,仅改变了exports,并没有改变module.exports,也就并没有对输出起作用。

当 exports.a = x 和 module.exports.a = xx 一起使用时,最后输出出来的 a = xx;因为一般我们会把module.exports.a == xx放到后面来写,实际上等效于 module.exports.a = x ,然后又执行了module.exports.a = xx,只是进行了一个重新赋值。

 同样,当 exports.a = x 和 module.exports = xx一起使用时,最后的输出只有 xx,我们再来进行一次转化, exports.a = x 等效于module.exports.a = x, 等效于 module.exports = {a: x}, 然后又执行了module.exports = xx, 实际也是进行了一个重新赋值。

转载于:https://www.cnblogs.com/xiaoxiaopao/p/10906381.html

node中exports和module.exports的关系及使用相关推荐

  1. Node.js中exports、module.exports、require之间的关系

    Node中的js文件 Node中的每个JS文件都是一个单独的模块,模块中包含的核心变量:exports.module.exports.require nodejs中module文档 // 插入图片 E ...

  2. node.js中exports与module.exports的区别分析

    前言 关于Node.js中的exports和module.exports,很多时候都比较容易让人混淆,弄不清楚两者间的区别.那么我们就从头开始理清这两者之间的关系. 来源 在开发Node.js应用的时 ...

  3. Node.js 中 exports 和 module.exports 的区别

    每一个模块中都有一个 module 对象, module 对象中有一个 exports 对象 我们可以把需要导出的成员都放到 module.exports 这个接口对象中,也就是 module.exp ...

  4. Node.js: exports 和 module.exports 的区别

    我理解的exports 和 module.exports 的区别,欢迎大家吐槽~ 为了更好的理解 exports 和 module.exports 的关系,我们先来补点 js 基础.示例: app.j ...

  5. Node.js学习之(第二章:exports和module.exports)

    前言 Node中,每个模块都有一个exports接口对象,我们需要把公共的方法或者字符串挂载在这个接口对象中,其他的模块才可以使用. Node.js中只有模块作用域,默认两个模块之间的变量,方法互不冲 ...

  6. nodejs中的exports和module.exports

    module是随文件而生的全局变量,它有exports属性,这个属性默认是一个空的字典. node的设计者画蛇添足有定义了一个exports全局变量,export指向module.exports所指向 ...

  7. nodeJS学习(9)--- nodeJS模块:exports vs module.exports

    模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...

  8. 一文解读exports、module.exports 和 export、export default

    对于前端初学者来说,exports.module.exports 和 export.export default 容易让人产生误解,笔者顺便写篇文章解读一下. 第一部分:exports 和 modul ...

  9. exports 和 module.exports 的区别

    首先我们需要知道的是,node 真正导出的对象是 module.exports 那exports 又是怎么回事呢? 其实,在一开始,exports 和 module.exports 引用的都是同一个 ...

  10. exports和module.exports的区别

    请牢记一条原则:无论使用 exports 暴露成员,或是 module.exports 暴露成员,最终暴露的结果,都是以 module.exports 所指向的对象为准. 1.module 对象 看一 ...

最新文章

  1. 同一个python代码绘制多种不同樱花树,你喜欢哪一种?
  2. 【Git】Git 本地的撤销修改和删除操作
  3. usermod 命令、mkpasswd命令及用户密码管理
  4. (0052)iOS开发之沙盒(sandbox)机制和文件操作(二)
  5. Science新研究颠覆认知,有望一举解决困扰器官移植60余年问题,网友:生物课本得改了...
  6. docker部署项目 dockerfile 实战 SpringBoot、flask
  7. 打开软件就遍历桌面和D盘的软件名通过UDP广播的方式发出。服务器监听指定的端口可以获得文件夹名称。不会暴露自己的IP
  8. Python绘制图形之Matplotllib绘图
  9. java 预览office_java在线预览office
  10. 征服Perl——Linux下安装Perl——里程碑M2
  11. 设计模式之十一:创建模式(Builder Pattern)
  12. 黑马程序员_java之反射
  13. Silverlight 数据绑定 (1):怎样实现数据绑定 Silverlight 数据绑定 (2):Source to Target...
  14. 我的世界联机侠怎么删除java_我的世界联机侠怎么增加房间人数
  15. 在线分析仪器(一)概述
  16. 电脑桌面便签怎么修改便签字体颜色?
  17. 微软认证全国考试中心一览表
  18. 数据库原理-几种数据模型
  19. UVM实战 卷I学习笔记2——为验证平台加入各个组件(1)
  20. Gut Microbes | 基于宏基因组发现猕猴肠道中的大量微生物新基因组

热门文章

  1. 【图像压缩】基于matlab行程编码(RLE)图像压缩【含Matlab源码 404期】
  2. 【手写数字识别】基于matlab PCA手写数字识别【含Matlab源码 309期】
  3. linux c程序中判断能不能ping,用C/C++代码检测ip能否ping通(配合awk和system可以做到批量检测)...
  4. iis7网站可用php吗,在IIS7下面添加对PHP网页的支持
  5. c语言中Oo是什么进制整数字,C语言中的大小端存储及原码补码反码的运算关系 %d %u...
  6. 为什么现代企业需提高企业敏捷性
  7. pdf.js跨域加载文件
  8. Spark 概念学习系列之从物理执行的角度透视spark Job(十七)
  9. 批量生成 Hibernate Dao
  10. RFGSD DF DS