导入语句用于从其他模块导入已导出绑定
花括号({})用于导入具名绑定,背后的概念被称为解构赋值。解构赋值是一种将数组或对象中的值解包成导入模块中不同变量的过程
花括号({})用于导入具名绑定
我想通过一个例子来解释ES6中不同类型的导入
假设我们有一个名为Animals(Animals.js)的模块,该模块导出一个默认绑定Man和几个其他具名绑定,如Cat、Dog等
..
export Cat;
export Dog
export default Man
从一个模块中导入单个输出
为了从另一个模块(比如Cat)导出单个输出,我们可以这样写:
import {Cat} from "./Animals"
同样适用于狗
import {Dog} from "./Animals"
从模块中导入多个导出项
您也可以按以下方式导入多个模块
import {Dog, Cat} from "./Animals"
使用更方便的别名导入和导出
import {Dog as Puppy} from './Animals.js';
重命名导入时的多个导出
import {Dog as Puppy, Cat as Kitty} from './Animals.js';
但是如果要将Man导入到另一个模块中,因为它是默认导出的,您可以像这样编写:
import Man from './Animals.js';
你也可以混合使用以上两种变体,例如
import Man, {Dog as Puppy, Cat as Kitty} from '/Animals.js';
导入整个模块的内容
如果你想要导入所有内容,可以使用
import * as Animals from './Animals.js';
在这里,访问exports意味着使用模块名称(在本例中为“Animals”)作为命名空间。例如,如果您想在此情况下使用Cat,可以像下面这样使用它
Animals.Cat
关于导入,您可以在此处阅读更多信息。
关于解构,您可以在此处阅读更多信息。
{}
- 因此,您的问题根本不清楚 - 这里有一些有用的文档。 - Jaromanda Xexports
,如果只有一个或默认值,则不需要使用{}
。否则,如果源对象具有多个,则可以指定{}
并选择要使用的内容。 - vikscool