导出多个模块ES6 - 导入时,所有模块都在第一个模块中“剥离”

时间:2017-01-05 14:31:10

标签: ecmascript-6 babeljs

我正在执行以下操作(两个导出的对象):

SlateInfo.js

export default {SlateRules, SlateSchema};

然后在另一个文件中

import {SlateRules, SlateSchema} from 'SlateInfo';

但我得到的是SlateRules被定义为包含SlateRulesSlateSchema

的对象

SlateSchema未定义。

我哪里出错/我误解了什么?

1 个答案:

答案 0 :(得分:4)

import {SlateRules, SlateSchema} from 'SlateInfo';用于导入命名导出。但是,export default {SlateRules, SlateSchema};默认导出,导出具有两个属性的对象。

如果您想要命名导出,则需要省略default

export {SlateRules, SlateSchema};

或使用默认导入并对对象进行解构:

import SlateInfo from 'SlateInfo';
const {SlateRules, SlateSchema} = SlateInfo;

When should I use curly braces for ES6 import?有很多示例显示了命名和默认导出的工作原理。