我正在执行以下操作(两个导出的对象):
SlateInfo.js
export default {SlateRules, SlateSchema};
然后在另一个文件中
import {SlateRules, SlateSchema} from 'SlateInfo';
但我得到的是SlateRules
被定义为包含SlateRules
和SlateSchema
SlateSchema
未定义。
我哪里出错/我误解了什么?
答案 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?有很多示例显示了命名和默认导出的工作原理。