美文网首页我爱编程
node中exports 和 module.exports区别

node中exports 和 module.exports区别

作者: IceLake | 来源:发表于2018-03-30 13:56 被阅读0次

主要区别:

1、module.exports 初始值为一个空对象 {};
2、exports 是指向的 module.exports 的引用;
3、require() 返回的是 module.exports 而不是 exports;

node会在运行时自动给模块文件添加两个属性:exports和module.exports;
开始时他们都指向同一个空对象:


image.png image.png

改变exports的指向:


image.png image.png

所以说exports和module.exports并没有什么联系,只是开始时指向的是同一个对象!
require引入模块时引入的是module.exports;

image.png image.png image.png

我们可以看到这样的写法:

exports = module.exports = {...}

上面的写法等价于

module.exports = {...};
exports = module.exports;

相关文章

网友评论

    本文标题:node中exports 和 module.exports区别

    本文链接:https://www.haomeiwen.com/subject/qfyfoxtx.html