nodejs中的module.exports和exports有什么区别

版权声明:本文为博主原创文章,欢迎转载,转载请标明出处。 https://blog.csdn.net/YeShenLiaoSuiFeng/article/details/80539837

exports 变量是在模块的文件级别作用域内有效的,它在模块被执行前被赋予 module.exports 的值。

   简单的来说exports与module.exports的区别就是类似var name = obj.name = 'jack'的区别。

exports的值就是传的是module.exports的值的地址,后者改变,那么前者就跟着改变。

一般来说module.exports.f = ... 可以被更简洁地写成 exports.f = ...

 注意,就像任何变量,如果一个新的值被赋值给 exports,它就不再绑定到 module.exports,但是当 module.exports 属性发生改变时,也会重新赋值exports。

   简单来说,module.exports值发生改变,那么exports的值就会重新指向modules.exports.

 如果只是使用.来添加属性和方法,module.exportsexports混用是完全可以的

module.exports.age = 10 

exports.age = 10 

    对于为了直接使导出的内容作为类的构造器可以让调用者使用new操作符创建实例对象,应该把构造函数挂到module.exports对象上。

参考文章链接:https://www.cnblogs.com/wbxjiayou/p/5767632.html

猜你喜欢

转载自blog.csdn.net/YeShenLiaoSuiFeng/article/details/80539837