vite生产环境默认关闭sourcemap以减小体积和提升安全性;如需开启,可在vite.config.ts中配置build.sourcemap为true、'inline'、'hidden'或'nosources',并确保.map文件正确部署与可访问。

在 Vite 中,默认生产环境(build)是**关闭 SourceMap 的**,这是为了减小打包体积、提升安全性。若你确需在生产环境保留 SourceMap 用于错误监控或调试(例如配合 Sentry、Bugsnag 等平台),可以通过配置 build.sourcemap 开启。
开启生产环境 SourceMap 的方法
在 vite.config.ts(或 .js)中,设置 build.sourcemap 为 true 或指定类型:
-
true:生成.js.map文件,内联源码(默认行为,文件较大) -
"inline":SourceMap 内联到 JS 文件末尾(base64 编码),不产生独立.map文件 -
"hidden":生成独立.map文件,但不通过sourceMappingURL注释关联,浏览器不会自动加载(适合仅供错误收集服务使用) -
"nosources":生成 SourceMap,但不包含原始源码内容(只有位置映射),兼顾调试定位和安全性
示例配置(推荐 "hidden" 或 "nosources" 用于生产):
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
export default defineConfig({
build: {
sourcemap: 'hidden' // 或 'nosources'
}
})注意 SourceMap 的部署与访问权限
开启后,Vite 会在 dist/ 目录下生成对应的 .map 文件(如 index.12345678.js.map)。要让错误监控工具正确解析,还需确保:
- SourceMap 文件随 JS 文件一同部署到线上服务器(不能遗漏)
- 服务器允许外部访问
.map文件(检查 Nginx/Apache 的静态资源规则、CORS、鉴权等) - JS 文件末尾的
sourceMappingURL=xxx.js.map路径可被正确解析(相对路径通常没问题;若用 CDN,注意路径是否匹配)
安全提醒:别把源码暴露给用户
生产环境开启 SourceMap 会降低代码反编译门槛。若你担心源码泄露:
- 避免使用
sourcemap: true或"inline"—— 它们会把原始代码直接塞进 map 文件或 JS 文件里 - 优先选
"nosources":能还原调用栈行号列号,但看不到具体源码内容 - 敏感项目可将
.map文件单独存放在内部服务器或错误平台(如 Sentry),不公开提供,再通过sourceMapUploadUrl等方式上传
验证是否生效
执行 vite build 后检查 dist/ 目录:
- 是否有对应
.js.map文件生成 - 打开生成的 JS 文件,末尾是否含
//# sourceMappingURL=xxx.js.map - 在浏览器开发者工具 > Sources 面板中,展开
webpack://或app://(Vite 使用app://协议),看能否看到原始.vue或.ts文件结构(仅当 SourceMap 可访问且未设"nosources"时可见)
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










