我想弄清楚我有ES6模块导入的问题。ES6模块导入未定义
这是我试图做的一个非常简化的版本。嵌套的文件夹使我的当前文件结构复杂得多。
我有2个ReactJS组件:
/buttons
/MyComponent1.js
/index.js
/texts
/MyComponent2.js
/index.js
/index.js
我的文件看起来是这样的:
我导入MyComponent2
从根index.js
文件,该文件是我的包的入口点。
MyComponent1.js
import MyComponent2 from '../../';
export default() => (
<div><MyComponent2 /></div>
);
MyComponent2.js
export default() => (
<div>Hello world</div>
);
我buttons/index.js
和texts/index.js
文件导出所有组件在自己的文件夹:
按钮/索引。 js个
export { default as MyComponent1 } from './MyComponent1';
文本/ index.js
export { default as MyComponent2 } from './MyComponent2';
我的根index.js
出口我的所有文件夹,以使它们公之于众。这是我的入口点:
export * from './buttons';
export * from './texts';
所以,当我在MyComponent1
导入MyComponent2
从根index.js
文件,它是undefined
。当我从./MyComponent2.js
导入它时,它已被定义。当我在另一个项目中导入整个软件包并从根index.js
文件导入MyComponent2
时,它已定义。
这是令人兴奋的,我不明白为什么我不能从根index.js
文件导入MyComponent2
。
我需要这样做,因为我有一组数百个嵌套在不同文件夹中的组件,并且我希望通过此入口点文件使它们全部可用。
有人能告诉我发生了什么事以及如何使这成为可能吗?
感谢
尝试简单导出:'export default MyComponent1' 要导入:从'。/ index''导入MyComponent1' –
我发现导入到变量,然后导出单独工作。这种方式没有。 –