// webpack.config.js devtool: 'hidden-source-map' # 上传后删除 rm -f dist/assets/*.map
安全扫描提示 dist 目录可以直接下载 .map 文件,业务源码在浏览器里一览无余。先别急着动参数,把报错原文和时间点记下来,顺序反了容易白折腾。
原因不复杂,生产构建开着 sourcemap,map 又跟着一起发布了,产物末尾还留着 sourceMappingURL 注释指过去。
「source map 泄漏」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。改完隔一天再看一次,当场正常不代表能稳住。
测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
处理上按这个顺序:改用 hidden-source-map 只留文件;构建后把 map 移出发布目录;确认产物里不再有映射注释。
改完只确认一件事:线上访问 .map 地址返回 404,源码不再暴露。
