webpack定义多个环境和自定义常量
"scripts": {
"dev": "webpack serve --config webpack.dev.js --env SERVER_ENV=dev --mode=development",
"build": "webpack --config webpack.prod.js --progress --env SERVER_ENV=prod --mode=production"
},
可以通过--env来携带参数
通过webpack.common.config.js文件来定义公共配置
webpack.prod.js / webpack.dev.js文件里通过webpack-merge函数来合并配置
通告webpack.DefinePlugin插件来自定义环境变量
const {merge} = require("webpack-merge");
const commonConfig = require('./webpack.common')
module.exports = function (env, argv) {
return merge(commonConfig(env, argv), {
mode: 'production',
profile: false,
devtool: 'hidden-source-map',
plugins: [
new webpack.DefinePlugin({
VERSION: '1.1'
})
],
optimization: {
concatenateModules: true,
usedExports: true,
minimize: true,
runtimeChunk: true,
splitChunks: {
chunks: 'all',
minChunks: 2,
// minSize: 1,
// maxInitialRequests: 1
cacheGroups: {
}
}
}
})
}