版权声明:本文为博主原创文章,欢迎转载,转载请标明出处。 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.exports
和exports
混用是完全可以的
module.exports.age = 10
exports.age = 10
对于为了直接使导出的内容作为类的构造器可以让调用者使用new操作符创建实例对象,应该把构造函数挂到module.exports
对象上。
参考文章链接:https://www.cnblogs.com/wbxjiayou/p/5767632.html