令人困惑的es6导入 - >出口声明

时间:2016-09-09 05:16:54

标签: javascript node.js ecmascript-6 es6-modules

这是有效的JavaScript吗?它没有错误,似乎有效。

action name

我的解释是:

  1. url来自export {default as Chooser} from "./chooser";
  2. import
  3. default来自#1 "./chooser"
  4. 的结果

    这是发生了什么事吗?

2 个答案:

答案 0 :(得分:3)

  

这是有效的JavaScript吗?

  

这是发生了什么事吗?

答案 1 :(得分:0)

您的解释是正确的。

  

import来自default

"./chooser"

这是对的。导出的默认内容是Chooser,导入时,必须使用as ...给出的名称:

import { Chooser } from "./chooser";
  

export#1的结果为Chooser

这也是正确的。名称Chooser为默认值提供新名称并将其导出。

让我打破这个:

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

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

import { Chooser } from "./chooser";

您必须指定要导入的Chooser,因为您基本上已将其命名为默认值。