我正在使用Gulp并使用了Gulp Autoprefixer独立版本,例如:

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

...但是然后我看到Gulp Postcss plugin似乎包装了non-gulp autoprefixer的用法,例如:
gulp.task('styles', function() {
    gulp.src('scss/**/*.scss')
    //.................
            .pipe(sass())
            .pipe(postcss([
                autoprefixer({
                    browsers: [
                        //.......
                    ],
                }),
            ]))
    //............
});

有什么不同?

最佳答案

Autoprefixer只是一个PostCSS插件。没有PostCSS,就无法运行它。
gulp-autoprefixer将PostCSS隐藏在其中。就像gulp-postcss(autoprefixer)的快捷方式。这是运行Autoprefixer的非正式方法。

Autoprefixer作者建议仅使用gulp-postcss,因为:

  • 您将更快地获得Autoprefixer更新。
  • 您可以将Autoprefixer与其他基于PostCSS的工具结合使用以提高性能。对于所有基于PostCSS的工具(包括Autoprefixer),解析步骤(CSS处理中最长的)仅执行一次。
  • 这是官方方法,Autoprefixer和PostCSS团队对其进行了更好的测试。
  • 关于gulp - 在gulp-postcss之内或之外使用autoprefixer有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38302755/

    10-12 00:07