Какие плюсы и минусы CSS процессора?
Основы CSS
CSS-препроцессор (Sass, Less) расширяет CSS при сборке. У него есть заметные плюсы и минусы.
Плюсы
- Миксины и функции — переиспользуемые куски стилей с параметрами.
- Модули — разбиение на файлы с
@useбез лишних запросов. - Вычисления и циклы — генерация утилит, работа с цветами.
- Зрелая экосистема — библиотеки миксинов, поддержка в любых сборщиках.
Минусы
- Ещё один шаг сборки и зависимость.
- Переменные только на этапе компиляции — их нельзя менять в браузере, в отличие от CSS-переменных (темы, значения из JS).
- Глубокая вложенность раздувает специфичность и размер CSS.
- Дублирование кода —
@extendи тяжёлые миксины увеличивают итоговый файл. - Многое уже есть в CSS — переменные, вложенность,
color-mix(),@layer.
Как решать
Использовать препроцессор для того, чего нет в CSS (миксины, циклы), а значения, которые меняются в рантайме, держать в CSS-переменных.
Коротко для собеседования
Плюсы — миксины, функции, модули и экосистема; минусы — лишняя сборка, статичные переменные и риск раздутого CSS; часть возможностей уже есть в нативном CSS.
Подробнее: Sass — Документация