小程序真机调试第一次报错就让人头疼:
Error: 上传失败:网络请求错误 (async upload fail Error: 系统错误,错误码:80051, source size 4355KB exceed max limit 2MB)
微信小程序主包体积上限是 2MB,而当时项目里塞了 4MB+ 的本地图片——images 目录成了体积大头。
定位:先量化体积分布
在项目目录里按文件大小排序,很快确认是 images/ 里的样照、服装图、UI 素材占了绝大部分体积。压缩本地图片治标不治本,图片还会继续增加。
方案:图片全部上 OSS,代码只留地址
- 把
images/下所有文件上传到阿里云 OSS(我用的 Bucket:tryon-demo-uploads) - 代码里所有图片地址从相对路径改为 OSS 完整 URL
- 把正式配置(含 OSS 域名)放进
config.js,另存config.example.js模板,正式文件加入.gitignore不上传 GitHub - 删除本地
images/目录,体积立刻回到 1MB 以内
踩到的坑
OSS 地址换过去之后,开发版能显示、真机预览却偶尔白图——原因是没有给 Bucket 配置正确的公共读权限,检查「读写权限」设为公共读即可。另外图片质量参差,顺手在 OSS 控制台配置了图片处理规则统一压缩。
小结:小程序 2MB 是硬约束,静态资源"上云 + 留地址"是标准解法,顺带把配置和代码分离,工程上更干净。