Добре коллеги!
Случайно выяснил, что борщик минимизирует css как-то не очень хорошо.
Работаю с enb-borshchik
Дело в том, что он не производит семантическое объединение классов. Которое просто необходимо для тех случаев когда хотим использовать base64 в css.
Что же это такое семантическое объединение?
Рассмотрим пример:
Есть файл a.css
.a {
left: 20px;
background: #red;
}
.b {
left: 1px;
}
.k .a {
left: 20px;
background: #red;
}
.a {
right: 20px;
left: 1px;
background: url(./resources/images/1280x720-tv-background__overlay_info.png);
}
.b {
left: 2px;
}
.k .a {
right: 20px;
left: 1px;
background: url(./resources/images/1280x720-tv-background__overlay_info.png);
}
После семантического объединения должны получить следующее:
.a, .k .a{
right:20px;
left:1px;
background:url(resources/images/1280x720-tv-background__overlay_info.png)
}
.b { left:2px }
Делать это умеет библиотека: https://www.npmjs.com/package/clean-css
с включенной опцией --semantic-merging
Вопрос - как решить задачу семантической сборки css для enb?
Может уже решали данную проблему до меня?
borschik
сам вообще ничего не минимизирует, он использует для этого плагины. Например, https://www.npmjs.com/package/borschik-tech-cleancssЧтобы подключить плагин, нужно установить его через
npm
и указать название технологии в полеtech
(см., например, https://github.com/bem/project-stub/blob/bem-core/.enb/make.js#L93)Чтобы включить опцию
semantic-merging
, нужно использовать https://github.com/enb-make/enb-borschik/blob/master/techs/borschik.js#L23@tadatuta Спасибо за ответ!
Скажи а используете ли вы семантическую сборку для css посредством данного плагина?
Проверил, работает!
Спасибо @tadatuta!