Skip to content

JavaScript中的变量函数的导入导出方法

在 JavaScript (和 TypeScript) 中,模块系统允许我们在一个文件中定义变量、函数、类等,并在其他文件中导入和使用它们。ES6 引入了一种新的模块语法,提供了多种导入和导出的方式。以下是一些基本的导入方法:

1. 默认导入 (Direct Import):

当模块导出的是一个默认值时,我们可以使用默认导入。例如,一个模块可能是这样的:

1// moduleA.js
2export default function() {
3  console.log("This is the default export");
4}

导入它的方式是:

1import myFunction from './moduleA';

这里,myFunction 是我们自己选择的名字,你可以用任何你喜欢的名字来命名它。

2. 具名导入 (Named Import):

如果一个模块导出了多个值,并没有默认导出,或者我们只想导入其中的某几个值,我们可以使用具名导入。例如:

1// moduleB.js
2export function functionA() {
3  console.log("This is function A");
4}
5
6export function functionB() {
7  console.log("This is function B");
8}

导入的方式是:

1import { functionA, functionB } from './moduleB';

我们可以选择性地导入我们需要的函数或值。

3. 全部导入 (Wildcard Import):

如果我们想导入模块中的所有导出值,可以使用 *。例如:

1import * as allFunctions from './moduleB';

然后,你可以使用 allFunctions.functionAallFunctions.functionB 来访问这些函数。

4. 重命名导入 (Aliasing):

有时,为了避免命名冲突或提高代码的可读性,我们可能需要重命名导入的值。我们可以使用 as 关键字来做到这一点。例如:

1import { functionA as funcA, functionB as funcB } from './moduleB';

上面的代码将 functionA 导入为 funcA,将 functionB 导入为 funcB

总之,ES6 的模块语法提供了强大的导入和导出机制,使得代码组织、重用和维护变得更加容易。