postcss工具包是为了管理css文件:
{ loader: 'postcss-loader', options:{ plugins: [ require('postcss-easy-import')({ prefix: '_' }), //文件名引入加前缀 require('postcss-plugins-px2rem')({remUnit: 75}), // 移动端可用 px => rem转换(flexible.js中75px:1rem) require('postcss-modules')({ generateScopedName: '[local]-[hash:base64:5]' //postcss-modules模块给class名加后缀,防止同命名被覆盖 }), require('precss')(), //sass解析 require('cssnano')(), //相同css合并(例:.a{100px},.b{100px} => .a,.b{100px}) require('autoprefixer')({ browsers:[ '>0%', 'last 4 versions', 'Firefox ESR', 'not ie < 8'//针对不同浏览器某些css属性需要用到不同内核前缀(例:-webkit-transfrom,-moz-transfrom) ] }) }
注:如果在postcss-plugins-px2rem插件中不想把font-size的属性值转换成rem(怕转换后小数点值导致字体模糊),其值单位可以用rpx,rpx会被转换成px单位。或者干脆单位PX大写都可。
webpack use中的loader执行顺序是从右到左倒序执行的,当前loader执行完当参数传给下一个loader.