// vite.config.ts
build: { sourcemap: false }
grep -rn "sourceMappingURL" dist/ | head

上线后控制台每条报错后面跟着 DevTools failed to load source map,404 指向 app.js.map。dist 目录里没有这个文件,产物末尾的注释还在。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。

追下去是这么回事:打包器默认在产物末尾写一行 sourceMappingURL 注释,生产配置又把 map 文件排除了。注释留着文件没有,浏览器就照着一行死地址去请求。

「sourceMappingURL 404」排查到最后往往是很小的一处差异,前面那些复杂猜测可以先放一放。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。

把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。

处理上按这个顺序:确认生产配置里 sourcemap 的取值 是 false 还是 hidden;不需要调试就设成 false 让注释也别写;要保留调试能力就生成 map 但不写地址;发布前 grep 一遍产物 确认没有残留引用。

确认没问题再收工,控制台不再有 source map 404 产物末尾没有那行注释 靠日志仍能定位。

作者 9823189