【发布时间】:2016-11-15 09:09:18
【问题描述】:
我正在尝试创建一个导出多个 ES6 类的模块。假设我有以下目录结构:
my/
└── module/
├── Foo.js
├── Bar.js
└── index.js
Foo.js 和 Bar.js 分别导出一个默认的 ES6 类:
// Foo.js
export default class Foo {
// class definition
}
// Bar.js
export default class Bar {
// class definition
}
我目前的index.js 设置如下:
import Foo from './Foo';
import Bar from './Bar';
export default {
Foo,
Bar,
}
但是,我无法导入。我希望能够做到这一点,但找不到类:
import {Foo, Bar} from 'my/module';
在一个 ES6 模块中导出多个类的正确方法是什么?
【问题讨论】:
-
只使用
export而不使用默认值 -
您只能有一个
default导出。想象一下,如果有人试图做import SomeClass from 'my/module'。这将自动从该路径导入default模块。如果那里有多个默认导出,它怎么知道要导入哪一个?
标签: javascript module export ecmascript-6 babeljs