第一种方式:不推荐
// webpack.config.jsconst { CleanWebpackPlugin } = require('clean-webpack-plugin')const CopyWebpackPlugin = require('copy-webpack-plugin')module.exports = (env, argv) => {let config = {...} // 默认配置if (env === 'production') {config.mode = 'production'config.plugins = [...config.plugins,new CleanWebpackPlugin(),new CopyWebpackPlugin(['public'])]}return config}
第二种方式
yarn add webpack-merge —dev
// webpack.common.js
// webpack.dev.jsconst common = require('./webpack.common.js')const merge = require('webpack-merge')module.exports = merge(common, {mode: 'development'})
// webpack.prod.jsconst common = require('./webpack.common.js')const merge = require('webpack-merge')const { CleanWebpackPlugin } = require('clean-webpack-plugin')const CopyWebpackPlugin = require('copy-webpack-plugin')module.exports = merge(common, {mode: 'production',plugins: [new CleanWebpackPlugin(),new CopyWebpackPlugin(['public'])]})
webpack构建速度和打包体积优化策略:https://segmentfault.com/a/1190000021952886
