令人困惑的 es6 import -> export 语句

Confusing es6 import -> export statement

这有效吗javascript?它没有错误,而且似乎有效。

export {default as Chooser} from "./chooser";

我的解读是:

  1. import 来自 "./chooser"
  2. default
  3. export #1 as Chooser
  4. 的结果

这是正在发生的事情吗?

你的解释是正确的。

import the default from "./chooser"

这是正确的。默认导出的东西是 Chooser 并且在导入时,你 必须 使用给定的名称 as ...:

import { Chooser } from "./chooser";

export the result from #1 as Chooser

这也是正确的。名称 Chooser 正在为默认值指定一个新名称并将其导出。


让我分解一下:

export {
    default as Chooser
} from "./chooser";

这样做是指定从中导出它的文件,default as Chooser 以名称 Chooser 导出默认值。现在,在导入时:

import { Chooser } from "./chooser";

您必须指定 Chooser 才能导入,因为您实际上已经命名了默认值。

Is this valid JavaScript?

是的。

Is this what is happening?

是的。