bem / project-stub

deps
314 stars 199 forks source link

Как прикрутить sass к project-stub? #238

Open WebKieth opened 7 years ago

WebKieth commented 7 years ago

Только недавно начал изучать BEM-stack. Генераторы я использовал всегда, и раз уж есть готовая конфигурация для стэка, собирать свой велосипед я не вижу смысла. Единственное, что мне не нравится в project-stub - это postcss. Я всегда писал на scss и для меня нет других альтернатив описывать стили. Но с установкой sass на enb не всё гладко. Найти пакет я нашёл. https://github.com/enb/enb-sass

Но он довольно старый. После установки конфига sass nodeConfig.addTech([ require('enb-sass'), { target: '?.css', sourceSuffixes: ['css', 'scss', 'ie.css', 'ie.scss', 'ie8.css', 'ie8.scss'], sass: { outputStyle: 'compressed', sourceComments: true } } ]); и отключения postcss в .enb/make.js в консоль выпадает ошибка. : [enb-sass]: empty string given. [failed] [desktop.bundles/page/page.css] enb-sass build failed TypeError: vow.promise is not a function Дальше никому не интересный trace) Я попробовал обновить vow - не помогло. Судя по репозиторию enb-sass, он давно не обновлялся. Преодолея одну ошибку, наверняка можно напороться на другую))) Помимо vow там ещё 7 зависимостей)

Использовать bemjson на практике без scss я не смогу - это уже привычка. Есть ли возможность установить sass в project-stub?

tadatuta commented 7 years ago

Я бы предложил все-таки дать шанс postCSS, ведь любой синтаксис — это просто сахар. Для синтаксиса scss есть https://github.com/postcss/postcss-scss.

Если это все-таки неприемлемый вариант, можем совместными усилиями попробовать обновить enb-sass.

WebKieth commented 7 years ago

@tadatuta Предложение сочное. Конечно, лучше бы было подправить enb-sass, чем я всё равно точно займусь. post scss компилируется без проблем, в отличие от enb-sass и enb-stylus, умеет & и переменные. Пока что мне этого хватит. Но было бы круто научить парсер стилей в project-stub делать, к примеру, так: .block{ $parent: &; &__elem{

{$parent}__part-of-elem{

... } } postcss-scss, увы, не умеет. Так что, надеюсь, в ближайшее время я смогу уделить внимание дебагу sass парсера для enb.