В статье Добавляем стили в БЭМ проект мы научили БЭМ проект понимать CSS. Но мы живём уже в 21 веке и использовать голый CSS уже как-то стремновато. Есть же SASS и Stylus. Поэтому давайте-ка задействуем всю мощь этих технологий и попробуем подключить их к нашему БЭМ проекту.
Stylus
Ставим пакет enb-технологий для для сборки CSS и Stylus файлов enb-stylus
1 | $ npm install --save-dev enb-stylus |
Как оказалось enb-stylus поддерживает так-же сборку и обычных CSS файлов, что позволяет избавиться от использования enb-css. Ну и конечно-же Stylus сам по себе намного приятнее в работе.
Добавляем в .bem/make.js
1 | var techs = { |
Сборка проекта с этим модулем прошла без проблем, CSS файлы собрались. К сожалению не смог пока проверить работу со Stylus, но обязательно это сделаю когда займусь ближе блоками.
SCSS
Ставим пакет enb-технологий для для сборки SCSS-файлов enb-sass
1 | $ npm install --save-dev enb-sass |
Менее популярен, чем enb-stylus, но лично мне как-то ближе к сердцу, но только лишь потому, что опыта работы с SCSS у меня больше.
Добавляем в .bem/make.js
1 | var techs = { |
Однако при попытке запуска сборки проекта получаем:
1 | $ ./node_modules/.bin/enb make |
Ошибка такая есть и видимо связано в версией nodejs
. По крайней мере нашёл описание проблемы тут https://github.com/enb/enb-sass/issues/13.
В общем походу enb-sass идёт лесом. Разбираться с этим геморроем желания особого нет, да и выглядит проект заброшенным.
Итоги и выводы
- В плане поддержки CSS для БЭМ есть пакеты только для поддержки голого CSS и Stylus (по крайней мере я больше ничего не нашёл)
- Пакет enb-sass кривой и заброшенный — использовать не рекомендую
PS
Совсем забыл почему-то про Less. А для него как оказалось есть пакет enb-less. Придётся как-нибудь на досуге попробовать, хотя сам я Less никогда не использовал.
Комментарии