exports和module.exports

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仍指向了空对象;

    原文作者:Doyle
    原文地址: https://segmentfault.com/a/1190000004131170
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞