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

标签 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: [
                        //.......
                    ],
                }),
            ]))
    //............
});

有什么区别?

最佳答案

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/

相关文章:

html - 包含所有谷歌字体网址的文件

vue.js - Nuxt 2.15.7 构建错误 - 无法解析 CSS @font-face URL

node.js - 如何在单个 Gulpjs 任务中添加已经缩小的文件?

Gulp 任务管道仅在源文件更改时连接

html - 哪些文件是我应该上传到主机的文件

nuxt.js - 如何让 autoprefixer 与 Nuxt 项目中的 .vue 文件一起工作?

reactjs - eslint 无法加载配置 "react-app"以从中扩展

css - transition with -webkit- transform 速记规则

node.js - 符号链接(symbolic link) gulpfile 但获取路径符号链接(symbolic link)运行

css - 如何仅在特定元素中应用顺风样式?