В чем разница между использованием autoprefixer внутри gulp-postcss или вне его?

Я использую Gulp и использовали автономный Gulp Autoprefixer, такой как:

gulp.task('styles', function() {
    gulp.src('scss/**/*.scss')
        //.................
        .pipe(sass())
        .pipe(autoprefixer({
            browsers: [
              //..........
            ],
        }))
        //............
});

... но потом я вижу плагин Gulp Postcss, который, кажется, оборачивает использование нерефлексного автоприставки, такого как:

gulp.task('styles', function() {
    gulp.src('scss/**/*.scss')
    //.................
            .pipe(sass())
            .pipe(postcss([
                autoprefixer({
                    browsers: [
                        //.......
                    ],
                }),
            ]))
    //............
});

В чем разница?

1 ответ

Решение

Autoprefixer - это просто плагин PostCSS. Нет способа запустить его без PostCSS.

gulp-autoprefixer скрывает PostCSS внутри. Как ярлык для gulp-postcss(autoprefixer), Это неофициальный способ запуска Autoprefixer.

Авторефиксатор автор рекомендует использовать только gulp-postcss, так как:

  • Вы получите обновления Autoprefixer быстрее.
  • Вы можете комбинировать Autoprefixer с другими инструментами на основе PostCSS для повышения производительности. Шаг синтаксического анализа (самый длинный в обработке CSS) будет выполнен только один раз для всех инструментов на основе PostCSS (включая Autoprefixer).
  • Это официальный способ, и команда Autoprefixer и PostCSS лучше его тестирует.
Другие вопросы по тегам