美文网首页
Autoprefixer 没有添加前缀?

Autoprefixer 没有添加前缀?

作者: 越前君 | 来源:发表于2020-12-02 16:02 被阅读0次

PostCSS 中使用 Autoprefixer 发现没有给我添加前缀,然后...

两种解决方案:

方案一

无论使用 postcss.config.js 等配置文件还是直接在 webpack.config.js 中使用 Autoprefixer,都需要设置 browserslist 才会帮你添加前缀。

// postcss.config.js
module.exports = {
  plugins: [
    require('autoprefixer')
  ]
}
// webpack.config.js
module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: ['style-loader', 'css-loader', {
          loader: 'postcss-loader',
          options: {
            plugins: [
              require('autoprefixer')
            ],
          }
        }]
      }
    ]
  }
}
// package.json
{
  "browserslist": [
    "last 2 versions",
    "> 1%",
    "iOS 7",
    "last 3 iOS versions"
  ]
}

或者添加配置文件 .browserslistrc

# Browsers that we support

last 2 versions
> 1%
iOS 7
last 3 iOS versions
2. 方案二(不推荐)

postcss.config.js 配置文件添加 browsers 选项,但是这种方式,Autoprefixer 不提倡这种写法,会导致一些错误。

建议使用方案一解决,否则项目构建时会有警告 ⚠️:

Replace Autoprefixer browsers option to Browserslist config.
Use browserslist key in package.json or .browserslistrc file.

Using browsers option cause some error. Browserslist config
can be used for Babel, Autoprefixer, postcss-normalize and other tools.

If you really need to use option, rename it to overrideBrowserslist.

Learn more at:
https://github.com/browserslist/browserslist#readme
https://twitter.com/browserslist

// postcss.config.js
module.exports = {
  plugins: [
    require('autoprefixer')({
      browsers: ['defaults', 'not ie < 11', 'last 2 versions', '> 1%', 'iOS 7', 'last 3 iOS versions']
    })
  ]
}

相关文章

网友评论

      本文标题:Autoprefixer 没有添加前缀?

      本文链接:https://www.haomeiwen.com/subject/vxquwktx.html