Aetae, да, но какой смысл его называть как-то. Можно тогда использовать всегда например root.
Вы мне ерунду рассказываете. БЭМ создан именно для того чтобы все классы жили в одном пространстве имён. И там даже есть специальное правило о то что для одного селектора всегда используется один класс для сохранения минимальной специфичности. А вы мне поверх этого предлагаете css модули пихать, которые ломают всю суть БЭМ.
Aetae, я vscode использую. Там пишется директория, но только её предпоследний уровень как правило и то только если есть файлы с одинаковым названием. Какую мне ещё IDE использовать?
Сергей delphinpro, ну это если папка всего одна, а если структура более глубокая, то там будет Menu/index.js и List/index.js и хрен пойми к чему они относятся.
Сергей delphinpro, index.vue (index.js) - вообще зло. Обожаю когда сверху куча кладок с одинаковым названием index.js, кстати в style guide это упоминается. Удивительно что вы мне советуете такую плохую практику.
Сергей delphinpro, и 5-рная вложенность, если надо. Собственно вложенность в style guide упоминается и считается нормой. Вложенность в данном случае - деление большого компонента на несколько маленьких ради избежания лапше кода.
Не говоря уж то что это не соответствует vue.js style guide и во вкладках таким образом могут появляться компоненты с одинаковым названием, что вызывает путаницу и сложности ориентации в проекте.
Aetae, это всё круто, но классы мы не импортируем, классы живут в глобальном пространстве имён до тех пор пока мы не начинаем использовать какие-нибудь css модули, с которыми ещё куда других проблем.
Что с классами?
zorca, это вполне реальный пример. У меня есть приложение с 5 разными layout'ами, у каждого layout'а свой специфичный хедер со своим специфичным для этого хедера меню. Какой смысл мне делать эти меню некими глобальными переиспользуемыми компонентами если на 99.999% они никогда больше нигде не понадобятся кроме как в этих хедерах? А информативности в данном случае в название на несколько порядков больше. И это ведь не значит, что я не использую не вложенные компоненты. У меня целая куда глобальных компонентов с коротким названием. Но в том то и дело, что иногда компонент располагает к тому, чтобы его переиспользовать, а иногда это очень конкретная часть конкретного интерфейса и намного логичнее вынести её во вложенный компонент другого компонента. Причём никто никогда не мешает использовать его где-то ещё или вынести в общие компоненты при необходимости.