必须关闭 sourcemap,否则源码随 .map 文件暴露;在 vite.config.js 的 build 对象中设 sourcemap: false,并在 hbuilderx 发行设置中取消勾选「生成 sourcemap」,最后验证产物中无 .map 文件及 sourcemappingurl。

必须关掉,否则源码会随 .map 文件一起被下载,业务逻辑和路径全暴露。
在 vite.config.js 中关闭 sourcemap
uni-app 当前基于 Vite 构建,sourcemap 配置只在 vite.config.js 的 build 对象里生效,vue.config.js 完全不适用。
- 直接写
sourcemap: false,不要加条件判断(比如process.env.NODE_ENV === 'production'),HBuilderX 发行时这个环境变量经常不准,容易失效 - 如果开发阶段想保留调试能力,可临时设为
sourcemap: 'inline',但上线前必须改回false - 配置位置要对:必须嵌套在
build: { ... }里,不能写到顶层或defineConfig外面
HBuilderX 图形界面会覆盖配置
即使 vite.config.js 已设 sourcemap: false,HBuilderX 的发行设置仍会强行生成 .map 文件。
- 点击「发行 → 网站 → 发行设置」
- 取消勾选「生成 sourceMap」(该选项默认是勾选的)
- 这个开关优先级高于 vite 配置,不关它,前面所有操作都白做
验证是否真的禁用成功
改完配置不等于生效,得看产物里有没有残留。
- 运行
npm run build:h5或 HBuilderX「发行 → 网站」 - 检查
unpackage/dist/build/h5/目录下是否存在.js.map或.css.map文件 - 打开任意生成的
.js文件末尾,确认没有//# sourceMappingURL=xxx.map - 浏览器访问页面,Network 面板过滤
map,不应出现任何 .map 请求
最容易被忽略的是 HBuilderX 发行设置里的那个开关——它藏得深、默认开、还优先级最高。光改代码不点掉它,.map 文件照出不误。











