在gulp-postcss中使用autoprefixer或在其外部使用autoprefixer有什么区别?

时间:2016-07-11 08:51:58

标签: gulp autoprefixer postcss gulp-plugin gulp-autoprefixer

我正在使用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: [
                        //.......
                    ],
                }),
            ]))
    //............
});

有什么区别?

1 个答案:

答案 0 :(得分:4)

Autoprefixer只是一个PostCSS插件。没有PostCSS就无法运行它。

gulp-autoprefixer将PostCSS隐藏在里面。就像gulp-postcss(autoprefixer)的快捷方式一样。这是运行Autoprefixer的非官方方式。

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

  • 您可以更快地获得Autoprefixer更新。
  • 您可以将Autoprefixer与其他基于PostCSS的工具结合使用,以提高性能。对于所有基于PostCSS的工具(包括Autoprefixer),解析步骤(CSS处理中最长的步骤)将只执行一次。
  • 这是官方方式,Autoprefixer和PostCSS团队对它进行了更好的测试。