Я пытаюсь экспортировать модули по умолчанию с помощью index.js barrels, но, похоже, не может заставить его работать. Он отлично работает с указанным экспортом, но не по умолчанию.Как экспортировать модули по умолчанию в index.js barrels
Упрощенная структура проекта
/hellos
/components
Hello.js
Hellos.js
index.js
index.js
App.js
/hellos/component/Hellos.js
...
export default Hellos
/hellos/component/index.js
export * from './Hello';
export * from './Hellos';
/hellos/index.js
export * from './components'
export * from './actions'
export * from './constants'
export * from './reducers'
App.js
import Hellos from './hellos'
console.log(Hellos) // <- undefined
Модуль Hellos импортирован чуть выше, всегда не определено.
Я могу заставить его работать, используя либо именованный экспорт, либо прямой импорт в App.js i.e. import Hellos from './hellos/component/Hellos'
, но я считаю эту плохую практику и хочу использовать только import Hellos from '/hellos'
.
Я подозреваю, что проблема связана с бочками index.js, но я не могу это решить. Пожалуйста помоги.
Я думаю, что вы хотите что-то вроде 'export {default as Hello} из './Hello';' в вашем индексном файле компонента. – tengbretson
Да, это проблема. Спасибо –
Чтобы автоматизировать создание index.js, вы можете использовать https://github.com/gajus/create-index – weivall