1- import path from 'path'
1+ import path , { dirname } from 'path'
22import fs from 'fs'
33import { merge } from 'webpack-merge'
44import CopyWebpackPlugin from 'copy-webpack-plugin'
@@ -16,7 +16,6 @@ import ImageMinimizerPlugin from 'image-minimizer-webpack-plugin'
1616import common from './webpack.common.js'
1717import dotenv from 'dotenv'
1818import { fileURLToPath } from 'url'
19- import { dirname } from 'path'
2019
2120const __filename = fileURLToPath ( import . meta. url )
2221const __dirname = dirname ( __filename )
@@ -49,8 +48,9 @@ const prodWebpackConfig = merge(common, {
4948 : undefined ,
5049 // 使用文件缓存
5150 cache : { type : 'filesystem' , buildDependencies : { config : [ __filename ] } } ,
52- // devtool: 'source-map',
53- devtool : false ,
51+ // 生产调试开关:设置环境变量 DEBUG_PROD=1 可在 production 构建中输出 source-map 并关闭压缩,便于定位仅在构建后出现的问题。
52+ // 默认保持原有生产行为(无 source-map,开启压缩)。
53+ devtool : process . env . DEBUG_PROD === '1' ? 'source-map' : false ,
5454 plugins : [
5555 new webpack . ProvidePlugin ( {
5656 React : 'react' ,
@@ -91,8 +91,8 @@ const prodWebpackConfig = merge(common, {
9191 } ) ,
9292 ] ,
9393 optimization : {
94- minimize : true ,
95- minimizer : [
94+ minimize : process . env . DEBUG_PROD !== '1' ,
95+ minimizer : process . env . DEBUG_PROD === '1' ? [ ] : [
9696 new CssMinimizerPlugin ( ) ,
9797 new EsbuildPlugin ( {
9898 target : 'es2015' ,
0 commit comments