vite开发环境默认启用inline sourcemap,无需配置即可在devtools中调试源码;生产环境应禁用或设为'hidden'并上传至sentry等平台,避免源码泄露。

在 Vite 中配置 SourceMap 很直接,关键看你在什么环境用、要达到什么效果:开发时追求快和准,生产时必须保安全。
开发环境默认就可用,不用额外配
Vite 在 dev 模式下自动启用 inline SourceMap,也就是把映射数据以 data URL 形式直接塞进 JS 文件里,不生成单独的 .map 文件。你改了 TypeScript 或 Vue 文件,F12 打开 Sources 面板就能看到原始源码,断点、单步、查看变量都正常工作。
不需要写任何配置,也不用改 vite.config.ts。如果你发现开发时看不到源码,大概率是浏览器缓存或 DevTools 设置问题,不是 SourceMap 没生效。
构建时生成独立 .map 文件(适合调试但需谨慎)
如果要在 build 阶段生成外部 .map 文件(比如配合本地测试或灰度环境排查),在 vite.config.ts 的 build 选项里设:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
-
sourcemap: true→ 生成xxx.js.map,并在xxx.js末尾加注释指向它(如//# sourceMappingURL=xxx.js.map) -
sourcemap: 'inline'→ 把整个 .map 内容 base64 编码后嵌入 JS,不产生额外文件,体积略大但加载方便 -
sourcemap: 'hidden'→ 生成 .map 文件,但不加 sourceMappingURL 注释,浏览器不会自动加载,适合手动上传到 Sentry 等平台
生产环境别裸发 .map 到 CDN
设 sourcemap: true 后若直接把产物扔到公开域名,攻击者打开 DevTools 就能下载全部 TS 源码、接口路径、敏感逻辑——这不是调试便利,是重大泄露。
正确做法是:
- 构建时用
sourcemap: 'hidden'或true - 用 Sentry CLI 把 .map 文件上传到私有项目(带 release 版本号)
- 上传成功后立即删掉本地所有 .map 文件
- 只把不含注释、无 .map 文件的 JS/CSS 推到 CDN
验证 SourceMap 是否生效
构建后检查两件事:
- JS 文件末尾有没有
sourceMappingURL=xxx.js.map(取决于你选的模式) - 浏览器 DevTools → Sources 标签页 → 左侧文件树是否出现原始
.ts或.vue路径(开发环境);或 Sentry 错误详情里能否展开到具体 TS 行号(生产环境 + 私有上传后)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










