export default 和export 的区别
时间: 2023-09-28 07:07:52 浏览: 127
在 JavaScript 中,`export` 和 `export default` 都用于导出模块。但是它们之间有一些区别。
`export` 用于导出模块中的一个或多个具名变量(函数、常量、类等),可以在导入时使用相同的名称进行访问。例如:
```js
// 模块 a.js
export const foo = 'foo';
export function bar() { /* ... */ }
// 模块 b.js
import { foo, bar } from './a.js';
```
在这个例子中,模块 a.js 导出了 `foo` 和 `bar`,而模块 b.js 使用了解构赋值的方式导入了这两个变量。
`export default` 则用于导出模块中的一个默认值。每个模块只能有一个默认导出,但可以有多个命名导出。在导入时可以自定义名称并访问默认导出。例如:
```js
// 模块 a.js
export default function() { /* ... */ }
// 模块 b.js
import myFunc from './a.js';
```
在这个例子中,模块 a.js 导出了一个默认的函数,而模块 b.js 使用 `myFunc` 作为自定义名称来访问这个默认导出。
需要注意的是,`export` 和 `export default` 可以在同一个模块中同时使用。例如:
```js
// 模块 a.js
export const foo = 'foo';
export default function() { /* ... */ }
// 模块 b.js
import myFunc, { foo } from './a.js';
```
在这个例子中,模块 a.js 同时导出了 `foo` 和一个默认函数,并且模块 b.js 同时导入了默认函数和 `foo`。
阅读全文