Closed RokeAlvo closed 5 years ago
Денис Липовецкий понравилось ваше письмо
Любопытства ради, исключительно для себя, вам реально с этим удобно? Вот так вот делить блоки на более мелкие составляющие? Или сейчас так в тренде? :-)
- Вот создали мы все эти мелкие файлы, а как их потом брать в сборку? Мой автомат сейчас возьмет только файлы блоков, файлы элементов и модификаторов просто проигнорируются.
да, поторопился, проверил, что html собирается, а на css и img не посмотрел - дополню.
2. Удобство написания стилей каждого элемента в отдельном файле считаю невероятно сомнительным. Платить постоянным созданием новых файлов за возможность убрать из результирующего css/js полкилобайта...
тут кому как удобней, можно и так и так: https://ru.bem.info/methodology/filestructure/#схемы
Любопытства ради, исключительно для себя, вам реально с этим удобно? Вот так вот делить блоки на более мелкие составляющие? Или сейчас так в тренде? :-)
по мне так очень удобно: например, делаем сайт, у него 5 страниц- не пишем же все в одном файле, каждой странице свой файл. Страницу разбили на компоненты (шапка, правая панель, левая, мейн, подвал) и каждая из компонент хранится отдельно и можно работать только с ней (а если команда работает). А уж на сколько мелко делить тут дело каждого, кому как удобней.
сильно не закидывайте помидорами - я git раньше не пользовался...
package-lock.json не надо менять - дополнительных пакетов не используется
изменения требуют только:
createBlock.js
- если не писать в имени создаваемого блока __
и --
отработает как раньше,
gulpfile.js
- сборку css, img поправлю, естественно должна быть совместимость со старыми проектами,
config.js
- если использовать старый, все будет работать как раньше, добавленные поля только для расширенной настройки( возможность задать технологии по умолчанию и разделитель)
будет создана папка src/blocks/block-name/__element-name/--mod-name/--mod и в ней соответствующие технологии --mod.***
поясните, какая ФС будет создана?
Что значит ФС?
файловая система
будет создана папка src/blocks/block-name/__element-name/--mod-name/--mod и в ней соответствующие технологии --mod.***
поясните, какая ФС будет создана?
blocks/
block-name/
__element-name/
--mod-name/
--mod/
--mod.scss
--mod.js
если дальше вызывать с block-name__element2-name
, то в итоге получится
blocks/
block-name/
__element-name/
--mod-name/
--mod/
--mod.scss
--mod.js
__element2-name/
__element2-name.scss
__element2-name.js
сборку вроде допилил - осталось проверить как на старом проекте себя поведет (все ли будет собирать)
Добавил возможность создавать не только блоки, но и элементы и модификаторы. Теперь при вызове
./createBlock.js block-name__element-name--mod-name--mod-value
будет создана папкаsrc/blocks/block-name/__element-name/--mod-name/--mod
и в ней соответствующие технологии--mod.***
Добавил в конфиг поле'bemModSeparator': '_'
, в скрипте createBlock, если в конфиге нет этого поля, по умолчанию используется"--"
Добавил в конфиг поле'defaultExtensions': ['scss', 'img', 'bg-img']
, в скрипте, если нет этого поля, используется старое значение