- 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
}
- 导入:
const info = require('./a.js')
console.log(info.name);
- 案例解析:
- 第二种导出方法的module对象的exports属性被重新赋值,不再指向exports
- 二者的区别
- 在Node中用于导出的其实是module.exports,不是exports
- require找的也是module.exports
- module对象的exports其实就是exports(指向exports)
- 也就是说module.exports = exports = 变量info(导入时定义的)