如何重新导出另一个模块的默认导出?

4
我想以以下方式导出一些模块,但总是失败。。
foo.js
const foo = {
  a: 'b'
};
export default foo;

index.js

export foo from './foo';  // encounter error here
export * from './foo';    // it works..

我不知道为什么我不能使用第一种方法从foo.js导出模块,在我看来,我可以导出任何东西,比如函数、类、变量等。

@vsync 很抱歉,我会尽快更改标题,谢谢您的回复。 - L.Jovi
@vsync 再次感谢,这是我的错误:( - L.Jovi
1个回答

14

要将一个模块的默认导出作为另一个模块的命名导出进行导出,必须执行以下操作:

// index.js
export { default as foo } from './foo';

现在你可以将foo作为命名导出项导入到其他地方:

// another.js
import { foo } from './index'

谢谢您的回复。 - L.Jovi
虽然我理解这个例子,但我想知道这里使用花括号的原因。为什么不能这样做(不使用 Babel)? export default from './foo'; (在 index.js 中),然后作为 import myDefault from './index.js'(在 another.js 中)导入它。 - Barleby

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接