
在 這里 display:flex 需要兼容性處理,webpack 編譯打包時,需要使用 postcss-loader 這個loader 和 postcss-preset-env 這個插件,它幫postcss找到package.json中browserslist里面的配置,通過配置加載指定的css兼容性樣式
首先,下載安裝 npm install --save-dev postcss-loader postcss-preset-env
webpack.config.js 配置:
const { resolve } = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
//默認使用package.json中生產環境的兼容性配置,所以需要設置nodejs環境變量
//process.env.NODE_ENV = 'development'
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: resolve(__dirname, 'build')
},
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader, //這個loader取代style-loader,將css從js中提取出來
'css-loader',
{
loader: 'postcss-loader', //css兼容性處理,修改loader的配置,使用默認配置的話直接 postcss-loader
options: {
ident: 'postcss',
plugins: () => [
require('postcss-preset-env')() //postcss的插件
]
}
}
]
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
}),
new MiniCssExtractPlugin({
filename: 'bundle.css' //對輸出的css文件進行重命名
})
],
mode: 'development'
}
package.json 中 browserslist 配置:

打包后的 bundle.css可以看到兼容處理:
#box1{
width:100px;
height:100px;
background-color: red;
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: flex;
}
#box2{
width:100px;
height:100px;
background-color: blue;
}
關於 browserLists 配置:
