【问题标题】:Why can't I import a default export with "import ... as" with BabelJS为什么我不能使用 BabelJS 使用“import ... as”导入默认导出
【发布时间】:2015-09-14 12:38:52
【问题描述】:

在 BabelJS 的 5.6.4 版本中,我似乎无法“import ... as”。以下是我正在尝试做的示例:

在文件'test.js'中:

export default class Test {};

在文件'test2.js'中(在同一目录中):

import Test as Test2 from './test';

我也试过这样做:

import {Test as Test2} from './test';

尽管它在这里什么也没说: http://babeljs.io/docs/learn-es2015/#modules

并且只在非默认语法中使用括号: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import

有人成功过吗?

编辑:这绝对是因为default 关键字。因此,在这种情况下,问题就变成了,是否有人有任何指向文档的链接指出我不应该能够为默认导入设置别名? ECMA 或 Babel。

【问题讨论】:

标签: ecmascript-6 babeljs


【解决方案1】:

您可以通过任一方式导入默认导出

import Test2 from './test';

import {default as Test2} from './test';

默认导出没有 Test 作为您需要别名的名称 - 您只需以您想要的名称导入默认值。

到目前为止,我发现的最好的文档是 Axel Rauschmayers 博客中的文章 ECMAScript 6 modules: the final syntax

【讨论】:

  • 啊默认...让我试试。
  • 效果很好!谢谢你。 Rauschmayers 博士的博客,顺便说一句,我认为一个足够可靠的来源可以作为规范。
  • 您也可以查看the spec,但我认为该博客更具可读性:-)
  • 来自 MDN,看起来你也可以这样做 import * as Test2
  • @merlinpatt 然后你必须使用Test2.default - 它是一个模块命名空间对象。
猜你喜欢
  • 2016-06-03
  • 2023-03-13
  • 2023-04-02
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 2019-02-15
  • 1970-01-01
相关资源
最近更新 更多