博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
exports 和 module.exports
阅读量:5231 次
发布时间:2019-06-14

本文共 1474 字,大约阅读时间需要 4 分钟。

(1)exports和module.exports的作用都是将文件模块里面的方法和属性暴露给require返回的对象进行调用,区别就是exports暴露的方法和属性都可以被module.exports替代,因为exports是给module.exports添加属性和方法

1 //test.js2 exports.name = '我是exports暴露的name';3 exports.method = function(){4     console.log('我是exports暴露的method');5 }6 console.log(module.exports);
1 //同一目录下的index.js2 var obj = require('./test.js');3 console.log(obj);

  两个console.log的结果都是一样的,为{ name: '我是exports暴露的name', method: [Function] },证明exports确实是为module.exports对象添加方法和属性

如果同时出现exports和module.exports并且同时暴露相同的方法和属性,后者会覆盖前者。

 

(2)exports返回的是一个json对象,而module.exports可以返回任何形式的数据格式,例如数组,字符串,数字等类型时,我们必须要用module.exports,下面是用module.exports返回一个字符串

1 //test.js2 module.exports = '我是module.exports暴露的字符串';3 exports.name = '我是exports暴露的name';4 exports.method = function(){5     console.log('我是exports暴露的method');6 };7 console.log("\n\n************我是console.log(exports)的结果***************")8 console.log(exports);
1 //同一目录下的different.js2 var obj = require('./test.js');3 console.log("\n\n************我是console.log(module.exports)的结果**********");4 console.log(module.exports);5 console.log("\n\n************我是console.log(obj)的结果*****************");6 console.log(obj);

执行结果如下:

  证明exports暴露的属性name和方法method都失效了,笔者在《Node.js开发实战详解》书中查找的解释是说“在exports之前执行了module.exports方法,导致exports失效”,由module.exports暴露出来的字符串并不能添加到module.exports对象中去,但是可以返回给require得到的对象

(3)一般来说,exports和module.exports的成员为公有成员,而非exports和module.exports的成员则为私有成员。这个是很容易理解,相信大家都明白

 

转载于:https://www.cnblogs.com/DTBelieve/p/5347835.html

你可能感兴趣的文章
android中fragment的使用及与activity之间的通信
查看>>
字典【Tire 模板】
查看>>
jquery的contains方法
查看>>
python3--算法基础:二分查找/折半查找
查看>>
Perl IO:随机读写文件
查看>>
Perl IO:IO重定向
查看>>
转:基于用户投票的排名算法系列
查看>>
WSDL 详解
查看>>
[转]ASP数组全集,多维数组和一维数组
查看>>
C# winform DataGridView 常见属性
查看>>
逻辑运算和while循环.
查看>>
Nhiberate (一)
查看>>
c#后台计算2个日期之间的天数差
查看>>
安卓开发中遇到的小问题
查看>>
ARTS打卡第3周
查看>>
linux后台运行和关闭SSH运行,查看后台任务
查看>>
cookies相关概念
查看>>
CAN总线波形中ACK位电平为什么会偏高?
查看>>
MyBatis课程2
查看>>
桥接模式-Bridge(Java实现)
查看>>