Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

PostCSS, Sass или Lightning CSS

Все три инструмента обрабатывают CSS перед публикацией, но задачи у них разные. Sass — язык поверх CSS. PostCSS — конвейер плагинов. Lightning CSS — готовый быстрый обработчик без плагинов. Их часто используют вместе, поэтому полезно понимать, где проходит граница.

Сравнение

SassPostCSSLightning CSS
Что этоЯзык, компилируется в CSSПарсер и плагины на JavaScriptГотовая программа на Rust
Входные файлы.scss, .sassОбычный .cssОбычный .css
Миксины, функции, циклыДаТолько через плагиныНет
Префиксы по BrowserslistНетAutoprefixerВстроены
Новый CSS для старых браузеровНетpostcss-preset-envВстроено, часть возможностей
СжатиеПростоеcssnanoВстроено
Свои плагиныНетДа, на JavaScriptОграниченно
СкоростьВысокаяЗависит от плагиновОчень высокая

Как они сочетаются

Sass и PostCSS не соперники. Типичная цепочка: Sass собирает стили из модулей и миксинов, а PostCSS добавляет префиксы и сжимает. В Vite это происходит само: файл .scss сначала компилируется Sass, а результат проходит через postcss.config.js.

styles/main.scss  →  Sass  →  CSS  →  PostCSS (preset-env)  →  css/main.css

Lightning CSS чаще всего работает незаметно: Vite 8 сжимает им CSS при сборке, а Tailwind CSS 4 обрабатывает им свой результат. Его выбирают отдельно, когда нужна максимальная скорость, а набор возможностей из коробки устраивает.

Что выбрать

СитуацияВыбор
Проект на Vite, обычный CSSДостаточно самого Vite; postcss-preset-env — если нужны @custom-media или широкий список браузеров
Сайт без сборщика, нужна поддержка старых браузеровpostcss-cli с postcss-import, postcss-preset-env и cssnano
Большая система стилей с миксинами и вычислениямиSass, а после него PostCSS или Vite
Проект на Tailwind CSS 4Tailwind сам решает префиксы и импорт, PostCSS не нужен или нужен только как точка подключения
Нужна особая обработка, например px в rem или свои правилаPostCSS с плагином, готовым или своим

Главный вопрос — нужно ли вам что-то, чего нет в обычном CSS. Переменные, вложенность, calc() и слои уже есть в браузерах. Если не хватает только совместимости, берите PostCSS или Lightning CSS. Если нужны миксины и циклы — Sass.

Частая ошибка

Ставить все инструменты сразу «чтобы было». Sass, PostCSS с Autoprefixer и postcss-preset-env, отдельный Lightning CSS и cssnano в одном проекте дублируют друг друга: префиксы и сжатие делаются по нескольку раз, а при ошибке трудно понять, какой шаг её внёс. Начните с минимума — например, с одного Vite — и добавляйте инструмент только под конкретную задачу.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.