1、安装
npm i -D postcss-loader autoprefixer
2、新建postcss.config.js,与webpack.config.js同级
module.exports = {
plugins: [
require('autoprefixer')
]
}
3、webpack.config.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); // 把css文件单独抽取出来
module.exports = {
mode: 'production', // 两种 development开发环境, production生产环境
entry: './src/index.js', // 入口
output: { // 出口
filename: 'bundle.js', // 打包后的文件名
path: path.resolve(__dirname, 'dist') // 打包后输出的文件路径,在__dirname路径下创建文件dist输出,path.resolve() 方法将路径或路径片段的序列解析为绝对路径。
},
devServer: { // 开发服务器的配置
port: 3000, // 打包后的输出端口
progress: true, // 打包过程中的打包进度条
contentBase: './dist', // 以./build目录作为静态服务文件夹
},
plugins: [
new MiniCssExtractPlugin({
filename: 'main.css', // 抽取出来的css文件名
})
],
module: {
rules: [
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader, // css文件编译的css添加到main.css里后一起link到head
{
loader: 'css-loader',
options: { importLoaders: 1 }
},
'postcss-loader' // 自动添加前缀如-webkit
],
}
]
}
}
注意使用:{importLoaders: 1}代表@import进来的css资源也会自动添加前缀,否则只对css文件添加前缀,而import进来的则不会