当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

exports和module.exports - Doyle

作者:小梦 来源: 网络 时间: 2024-05-09 阅读:

nodejs有几个没有定义但是却存在的变量,其中两个是:module、exports。
module变量是模块对象自身,exports是在module的构造函数中初始化的一个空对象({},而不是null)。

exports = module.exports = {};

这两个的关系为: exports是指向module.exports的引用,只有指向同一内存,两者才有联系。

  1. module.exports指向内存改变,exports也会改变;

  2. exports添加新属性,就是给module.exports添加新属性;

  3. 如果直接对exports进行覆盖,exports就指向了和module.exports不同的内存。require后报错,是因为require返回的是module.exports,而此时module.exports仍指向了空对象;

相关阅读