exports和module.exports的区别
来源:互联网 发布:淘宝上1000多的苹果6s 编辑:程序博客网 时间:2024/06/07 19:08
首先得明确两个的含义
exports:首先对于本身来讲是一个变量(对象),它不是module的引用,它是{}的引用,它指向module.exports的{}模块
module.exports:首先,module是一个变量,指向一块内存,exports是module中的一个属性,存储在内存中,然后exports属性指向{}模块
内存示意图如下:
现在来看看它们在运用中的异同:
exports.bar=function(){};上面的两行代码,分别来暴露相同的模块,两个方式是等价的,因为他们改变的内存是暴露模块的{},使暴露模块变成了
module.exports.bar=function(){}
exports和module.exports的等价是由于他们在操作同一块内存,所以意义是一样的
exports=function(){};现在我们把bar属性给去掉,这时候效果就完全不一样了
module.exports=function(){}
这时候exports和module.exports操作的就不是同一块内存了,exports指向了新的内存,实际上module.exports也指向了新的内存,但是nodejs中寻找的是module变量下的exports属性所指向的内存块,如果exports和module.exports操作的不是同一个内存块的话,exports就不起作用了,所以不管怎么样,使用module.exports是万无一失的。。。
阅读全文
0 0
- exports 和 module.exports 的区别
- [前端] exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- nodejs exports和module.exports的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- module.exports和exports的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports和module.exports的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- exports 和 module.exports 的区别
- 数据结构学习——动态逆序对
- JavaScript在JSP页面加载与执行顺序
- Spring Cache扩展:注解失效时间+主动刷新缓存
- 20171020testData
- 在textView中添加图片并设置图片大小
- exports和module.exports的区别
- ubuntu16.04设置ssh免密码登录
- bug整理1(未完成)
- C++中set用法详解
- IE8下input光标位置垂直不居中问题
- 汽车加油问题
- C语言提高-第22讲: 用指针法访问数组元素
- 在Ubuntu 16.04 LTS环境下安装L4RE和Fiasco
- stl中set相关算法