У меня есть следующая структура для моих компонентов JS:
/components
/Menu
/Menu.js
/Menu.test.js
/index.js
/MenuItem
/MenuItem.js
/MenuItem.test.js
/index.js
Идея в том, что у нас может быть папка для каждого компонента, которая может содержать тест (и, возможно, другие файлы), а затем, если мы просто хотим,для импорта компонента мы можем положиться на использование index.js
для обработки импорта каталога без прямой ссылки на класс внутри папки.
Так, например:
Menu.js
class Menu extends Component {
// ... more code ..
}
export default Menu;
index.js
export default from './Menu';
А затем его можно использовать как:
import Menu from './components/Menu';
Однако я обнаружил, что это не сработало и не могломодуль не найден ...
Итак, чтобы исправить это, мне пришлось импортировать Menu в index.js перед экспортом:
import Menu from './Menu';
export default Menu;
Но, посмотрев, как другие проекты структурировали своикод, я видел, что они используют первый без необходимости повторного импорта ...
Например: https://github.com/IBM/carbon-components-react/blob/master/src/components/Breadcrumb/index.js
Посмотрите, как они экспортированы из Breadcrumb без необходимости делатьимпортировать сначала ... как они достигли этого?