Генератор БЭМ-проектов на Yeoman.
Существуют два стандартных сборщика для БЭМ-проектов: ENB и bem-tools — комбайн, который под капотом использует ENB
для сборки и предоставляет дополнительные команды для работы с файлами по БЭМ.
Что обычно делает разработчик, создавая новый БЭМ-проект? В первую очередь - пишет конфигурационный файл для сборщика, который он будет использовать. Это довольно трудоемкий процесс, в ходе которого часто возникают ошибки.
Для экономии времени и снижения порога входа в сборку, мы создали генератор конфигурационных файлов, который позволяет настраивать сборку без погружения в API инструментов. Этот генератор предоставляет вам возможность получить заготовку БЭМ-проекта за считаные минуты, просто ответив на вопросы.
Для установки генератора выполните команду:
$ npm install -g generator-bem-stub
Если вы используете npm@>=3.0.0
, то перед установкой генератора выполните:
$ npm install -g yo
ЗАМЕЧАНИЕ! Глобальная установка (с флагом -g
) обязательна в обоих случаях.
Для обновления генератора выполните команду:
$ npm update -g generator-bem-stub
Для запуска генератора выполните:
$ yo bem-stub
-
skip-install - не устанавливать зависимости и бибилиотеки после генерации проекта (по умолчанию:
false
). -
tab-size - размер символов табуляции в сгенерированном коде. Укажите
0
, чтобы генерировались символы табуляции вместо пробелов (по умолчанию:4
).
$ yo bem-stub --skip-install --tab-size=4
- Сборщики:
- Библиотеки:
- Уровни переопределения:
- desktop
- touch-pad
- touch-phone
- CSS-препроцессоры:
- Автопрефиксер
- Технологии:
- Шаблонизаторы:
- Сборка HTML
- Сборка опрятного (отформатированного и не минимизированного) HTML с помощью enb-beautify
- Минимизиция отдельных файлов
Чтобы создать оптимальный для вашего проекта конфигурационный файл, генератор задаст несколько вопросов.
Важно знать, что многие вопросы в generator-bem-stub
зависят друг от друга, например:
-
Если вы выбрали библиотеку bem-components,
generator-bem-stub
выберет Автопрефиксер и CSS-препроцессор Stylus по умолчанию. -
Бандлы будут собираться из BEMDECL, если вы не выбрали технологию BEMJSON.
-
Вы можете собирать HTML, только если выбрали технологию BEMJSON и шаблонизатор BEMHTML или BH.
ЗАМЕЧАНИЕ! bem-tools использует ENB
для команды make
. Если вы выберете его, то конфигурационный файл будет создан для сборщика ENB
, но у вас будет возможность использовать команды из bem-tools.
В файле app/config/versions.js указано, какие версии зависимостей и библиотек использует generator-bem-stub
.