umi Webpack打包配置在开发环境生效问题。打包生效应在非dev环境才能生效,
config.tsx/umirc.ts配置chainWebpack时因加上此判断 if (process.env.UMI_ENV !== 'dev')
chainWebpack(config, { env, webpack, createCSSRule }) {
if (process.env.UMI_ENV !== 'dev') {
// 修改css输出目录
config.plugin('extract-css').tap(() => [
{
filename: `css/[name].[contenthash:8].css`,
chunkFilename: `css/[name].[contenthash:8].chunk.css`,
ignoreOrder: true,
},
]);
// 修改js输出目录
config.output
// JS 文件名添加 hash 值
// .filename('js/[name].[hash:8].js')
//chunk.js 文件名添加
.chunkFilename('js/[name].[hash:8].chunk.js')
.end();
/** 解析moment */
config.plugin('AntdDayjsWebpackPlugin').use(AntdDayjsWebpackPlugin);
// 开启gzip压缩
config.plugin('compression-webpack-plugin').use(
new CompressionWebpackPlugin({
// filename: 文件名称,这里我们不设置,让它保持和未压缩的文件同一个名称
algorithm: 'gzip', // 指定生成gzip格式
test: new RegExp('\\.(' + prodGzipList.join('|') + ')$'), // 匹配哪些格式文件需要压缩
threshold: 10240, //对超过10k的数据进行压缩
minRatio: 0.6, // 压缩比例,值为0 ~ 1
}),
);
}