Задать вопрос

Что такое Postcss?

В гугле статьи не вносят полной ясности что же такое PostCSS. Везде говорят что это чудо, но на вопрос что эта библиотека делает, отвечаю - делает хорошо.

Если не давать ссылок на статьи, который Вы сами не читали или читали да не поняли, то что такое PostCSS?
Для чего его сделали, когда есть sass?
  • Вопрос задан
  • 4446 просмотров
Подписаться 5 Оценить Комментировать
Решения вопроса 4
IonDen
@IonDen
JavaScript developer. IonDen.com
UPD: Ошибочка вышла. Имел ввиду CSSNext.
Ответ написан
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
когда есть sass?


sass - фиксированный ПРЕ процессор, postcss - ПОСТ процессор, то есть он позволяет вам работать с AST CSS файла, расширять синтаксис, добавлять поведение по вашему вкусу и т.д. Простой пример того, зачем нужен postcss - autoprefixer

Посмотрите презенташку Андрея Ситника (автор postcss) и вообще погуглите объяснений от него.
https://www.youtube.com/watch?v=XJaJqLVaR-c
Ответ написан
@chirskiy_mixail
Очень давно занимаюсь версткой, имею огромный опыт
codehipsters.com/2014/11/27/sitnik-interview.html
Если поищете его видео доклад, думаю внесет ясность для вас
Ответ написан
Комментировать
kapuletti
@kapuletti
Попытаюсь ответить, на сколько я понимаю.

PostCSS — это направление в развитии инструментов разработки для CSS после препроцессоров, направление более свободное. Под свободой тут имеется в виду то, что каждый может взять и написать свой модуль, не дожидаясь, когда это сделают разработчики SASS, LESS. Можно прям сейчас брать и пользоваться всеми новыми фишками.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
zorro76
@zorro76
Для того к примеру, что можно писать вот такой таск в gulp, и это круто
gulp.task('postcss', function () {
  var processors = [
    colorShort,
    focus,
    precss,
    short,
    size,
    responsiveImages,
    clearFix,
    px2Rem,
    cssNext,
    cssMqpacker,
    byeBye,
    discardComments,
    cssNano
  ];
  return gulp.src('src/css/*.css')
    .pipe(postcss(processors))
    .pipe(gulp.dest('dist/css/'))
    .pipe(browserSync.stream());
});
Ответ написан
Комментировать
sijio
@sijio
Frontend Developer (React, Vue, Material UI)
  1. Архитектура SASS - монолитная, т.е. вы можете использовать только те функции, которые вам предоставляет его производитель. Архитектура PostCSS - модульная, легко расширяемая новыми фичами за счет подключения плагинов, которые в принципе может написать любой желающий. Если вам нужна какая-то очень специальная обработка CSS, которой нет в наборе опубликованных плагинов, вы можете легко написать свой плагин для этого. Т.е. PostCSS будет развиваться быстрее за счет расширения библиотеки плагинов сторонними разработчиками.
  2. За счет большого количества имеющихся плагинов уже сейчас PostCSS предоставляет больше возможностей для обработки CSS чем SASS.
  3. На вход SASS получают шаблон CSS файла, который и формируют. На этом его работа заканчивается. PostCSS на вход получает CSS файл, парсит его в структуру стилей, что дает гораздо больше возможностей для обработки. Кроме того за счет плагина precss PostCSS может то же самое, что и SASS.
  4. А еще PostCSS - быстрее чем SASS.
Ответ написан
Комментировать
@nort1986
front-end разработчик
Если вкратце, то его придумали для обратной совместимости с CSS. Если в sass-е чтобы написать префиксы нужно использовать mixin-ы (@include border-radius(10px)). То используя Postcss этого писать не нужно. Авторы Postcss считают что это круто. Ты сам подключаешь то, что тебе нужно))))

На практике могу сказать, что мне нужны миксины, переменные и @extend. Я не могу без этого работать, как следствие в Postcss особой надобности я не вижу. Но Postcss развивается достаточно бурно, смотреть за ним нужно, может что-то из этого и получится нормальное. Если вы пользуетесь sass-ом так и пользуйтесь им, не заморачивайтесь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы