webpack.prod.js
905 Bytes
const { merge } = require('webpack-merge');
const baseConfig = require('./webpack.base');
const CssMinimizerWebpackPlugin = require('css-minimizer-webpack-plugin');
const TerserPlugin = require('terser-webpack-plugin');
const CompressionWebpackPlugin = require('compression-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
module.exports = merge(baseConfig, {
mode: 'production',
externals: {
react: 'React',
'react-dom': 'ReactDOM',
'dayjs': 'dayjs',
'antd': 'antd',
},
optimization: {
minimize: true,
minimizer: [
new CompressionWebpackPlugin(),
new TerserPlugin({
extractComments: false,
test: /\.js(\?.*)?$/i,
exclude: /node_modules/,
}),
new MiniCssExtractPlugin({
filename: './styles/[name]-[contenthash].css',
}),
new CssMinimizerWebpackPlugin(),
],
},
});