我想弄清楚我有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' –
我發現導入到變量,然後導出單獨工作。這種方式沒有。 –