webpack.common.js
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = {
entry: path.join(__dirname, 'src', 'index.js'),
output: {
// custom publicPath
// publicPath: 'https://example.com'
path: path.join(__dirname, 'dist'),
filename: 'index.[chunkhash].js',
},
module: {
rules: [
{
// 匹配css
test: /\.css$/,
use: [
'style-loader',
'css-loader',
{
loader: 'postcss-loader',
options: {
postcssOptions: {
plugins: ['postcss-preset-env'],
},
},
},
],
},
{
// 匹配sass
test: /\.(scss|sass)$/,
use: ['style-loader', 'css-loader', 'sass-loader', 'postcss-loader'],
},
/**
* 使用 asset 处理
* asset/resource --> file-loader
* asset/inline --> url-loader
* asset/source --> raw-loader
* asset
*/
// 匹配图片
{
test: /\.(png|gif|s