如何使用es6从模块中导入所有内容?

时间:2017-10-24 10:59:56

标签: javascript reactjs ecmascript-6 es6-modules

我正在使用大括号编辑器中的大括号npm模块。 目前,我正在使用

导入每个主题
import 'brace/theme/solarized_dark';

如何导入所有主题,以便为用户提供选择任何主题的选项。

2 个答案:

答案 0 :(得分:6)

创建一个brace/themes/index.js并导出您想要访问的内容

export * as theme1 from './theme1';
export * as theme2 from './theme2';
....

然后从该文件夹导入:(名称为 index.js ,因此无需提供文件的完整路径)

import * as SolDark 'brace/themes'; // by default get index.js

然后您可以访问每个方法,如:

SolDark.theme1;
SolDark.theme2;

答案 1 :(得分:0)

我不知道你的文件结构是怎样的,但我们假设它是那样的

|brace |---theme | |---theme1 | |---theme2 | | ... | |---solarized_dark

然后,您可以在index.js文件夹及其内部创建theme

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

假设您有默认导出。

然后在其他文件中,您只需执行以下操作:

//other_file.js
import {theme1, theme2} from 'someRelativePath/brace/theme/index'

import * as themes from 'someRelativePath/brace/theme/index'