目录
- exports导出(不常用)
-
exprots负责对模块内容进行导出
-
exprots是一个对象,我们可以在对象中添加多个属性,添加的属性会被导出
-
导出:
const name = 'wuu'
exports.name = name
-
导入:
const info = require('./a.js')
console.log(info.name);
-
解析:
-
变量info就相当于是exports对象;
-
也就是require通过各种查找方式最后找到exports对象
-
并且将exports对象赋值给了info变量
-
因此修改info就相当于修改export对象
-
- module.exports导出(常用)
-
在Node导出时,常用module.exports导出
const name = 'wuu'
// 第一种导出方法
// module.exports.name = name
// 第二种导出方法
module.exports = {
name
}
-
案例解析:
-
第二种导出方法的module对象的exports属性被重新赋值,不再指向exports
-
- 二者的区别
-
在Node中用于导出的其实是module.exports,不是exports
-
require找的也是module.exports
-
module对象的exports其实就是exports(指向exports)
-
也就是说module.exports = exports = 变量info(导入时定义的)