webpack4.x中使用postcss-loader、autoprefixer给CSS属性自动添加前缀

由于市面上存在几大主流浏览器,当我们在编写CSS相关属性的时候,需要添加兼容各浏览器的前缀,但是这样非常耗时、影响工作效率。

比如编写:

1 .searchBox{
2     display: flex;
3 }

但我们想要的是这种:

1 .searchBox{
2     display: -webkit-box;
3     display: -webkit-flex;
4     display: -moz-box;
5     display: -ms-flexbox;
6     display: flex;
7 }

那么,接下来有办法解决该问题。

安装

1 npm install node-sass sass-loader css-loader style-loader postcss-loader autoprefixer -D

配置 webpack.config.js

 1 module.exports = [
 2     module: {
 3         rules: [
 4              {    
 5                   test: /\.(scss|css)$/,    //打包css、sass文件
 6                   use:[{
 7                             loader:'css-loader',
 8                             options: { minimize: false }
 9                        },
10                        {
11                             loader:'sass-loader'
12                        },
13                        'postcss-loader'
14                    ]        
15               }
16          ]
17     }
18 ]    

创建 postcss.config.js文件

该文件与webpack.config.js在同一目录下,配置如下:

1 module.exports = {
2      plugins : [
3          require('autoprefixer')({
4              browsers : ['last 100 versions']      //必须设置支持的浏览器才会自动添加添加浏览器兼容
5          })
6      ]
7  };

好了,基本配置就是这些,之后打包css的时候会自动添加前缀。

如果文章中存在错误的地方,麻烦请大家在评论中指正,以免误人子弟,谢谢!