PostCSS 和 Autoprefixer

所有经过 vue-loader 处理输出的 CSS 都会连接(pipe)到 PostCSS 进行作用域 CSS 重写,然后使用 autoprefixer 自动添加前缀。

配置 Autoprefixer

你可以使用 webpack 配置中 vue 下的 autoprefixer 配置项来配置 autoprefixer。参考 autoprefixer 的可配置项。当然,你可以设置 false 来禁用 autoprefixing。

例子:

// webpack.config.js
module.exports = {
  // 其他配置项...
  module: {
    loaders: [
      {
        test: /\.vue$/,
        loader: 'vue'
      }
    ]
  },
  // vue-loader 配置
  vue: {
    // 配置 autoprefixer
    autoprefixer: {
      browsers: ['last 2 versions']
    }
  }
}

自定义 PostCSS 插件

要自定义使用 PostCSS 的插件,可以在 vue 下的 postcss 配置项传入一个数组。下面是使用 CSSNext 插件的例子:

// webpack.config.js
module.exports = {
  // other configs...
  vue: {
    // 自定义使用 postcss 插件
    postcss: [require('postcss-cssnext')()],
    // 禁用 vue-loader 的 autoprefixing.
    // 因为 cssnext 包含这个功能,所以禁用它准没错
    autoprefixer: false
  }
}

postcss 配置项除了可以配置数组以外,还支持:

  • 一个方法,其中返回插件数组

  • 一个对象,包含传递给 PostCSS 处理器的配置项。如果你使用 PostCSS 时依赖了自定义的 解析器/生成器,这种配置就很好用。

    postcss: {
      plugins: [...], // 插件列表
      options: {
        parser: sugarss // 使用 sugarss 解析器
      }
    }

results matching ""

    No results matching ""