export default , module.export的区别
时间: 2023-06-28 09:03:59 浏览: 88
`export default` 和 `module.exports` 都是用于模块导出的关键字,但是它们的用法和实现方式有所不同。
`export default` 是 ES6 中的语法,它可以导出一个默认的模块,一个模块中只能有一个默认导出,而且可以直接导入该模块。例如:
```
// moduleA.js
const data = [1, 2, 3];
export default data;
// moduleB.js
import data from './moduleA.js';
console.log(data); // [1, 2, 3]
```
`module.exports` 是 CommonJS 规范中用于导出模块的语法。在一个模块中,可以有多个导出,而且导出的变量可以是任何类型的。例如:
```
// moduleA.js
const data = [1, 2, 3];
module.exports = {
data: data,
getData: function() {
return this.data;
}
}
// moduleB.js
const moduleA = require('./moduleA.js');
console.log(moduleA.data); // [1, 2, 3]
console.log(moduleA.getData()); // [1, 2, 3]
```
需要注意的是,`export default` 和 `module.exports` 不可以混用,即一个模块中只能使用其中一种导出方式。如果需要同时使用两种导出方式,可以使用 `export` 关键字来进行导出。
阅读全文