Valera CSS_Junior
смотрю видео западное как профи рефакторит проект джуна. там он ему импорты зачем-то так переделывает, говорит так лучше но не объясняет почему. не подскажете зачем так импорты делать?
Видимо код был в файле Login/index.js, а дядька перенёс в Login/Login.js
🗝 так делают, чтобы в редакторах на вкладке было понятное название файла, а не куча index.js'ов (прим.: вроде в нормальных редакторах уже есть настройка "показывать имя папки перед именем файла". Но правда так длиннее получается..)
Моё мнение, что это очень странно, конечно. Это задача редактора, дать разработчику удобство, а не задача разраба подстраивать код под редактор(!🙈)
А в исходном Login/index.js прописал вот этот импорт-экспорт
🗝 так делают, чтобы импортировать этот компонент как Login, а не как Login/Login (ну, выше это описали уже).
✏️Есть условное (но хорошее своей простотой) решение — только для условий, когда компоненту не нужны дополнительные файлы (то есть других файлов в папке Login/ нету, как у тебя на картинке) — не делать папку вообще, а просто положить Login.js среди компонентов.
✏️Можно юзать плагин для Webpack'а — DirectoryNamed Plugin, кажется, — он делает так, что импорт ищет также и файл с именем папки (Login/Login.js), а не только index (Login/index.js).
Но для Typescript этот плагин не работает (т.к. ts-файлы сначала обрабатывает TS компилятор, которому фиолетово до вебпаковских плагинов), ..ну и для node не сработает, стало быть. Для ts надо колдовать с compiler options, готового не находил.