欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据您描述的情况,HBuilderX 从 4.87 升级到最新版本后,Vue2 项目打包微信小程序出现主包和分包超限的问题。这确实是版本升级中可能遇到的编译产物体积变化问题。
结合知识库中的相关案例和官方建议,请按以下步骤排查和解决:
1. 定位体积变化的具体内容
首先确认主包超限的具体原因:
- 打开微信开发者工具,查看「详情」-「基本信息」中的包体积分析
- 对比 4.87 和最新版编译后的
unpackage/dist/build/mp-weixin 目录,重点检查:
common/vendor.js 是否明显增大
- 主包
app.js 或页面 JS 文件是否异常
- 静态资源(图片、字体等)是否被重复打包到主包
2. 检查分包优化配置(关键)
Vue2 项目升级后,请确认 manifest.json 中的分包优化配置是否仍然生效:
{
"mp-weixin": {
"optimization": {
"subPackages": true
}
}
}
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
该配置用于将静态资源或 JS 文件放入分包内,不占用主包大小。如果之前配置过,升级后建议重新确认该配置是否被正确保留。
3. 处理 vendor.js 过大的问题
如果主包超限主要是 vendor.js 过大导致,请尝试:
- 开启运行时压缩代码:HBuilderX 创建的项目,勾选「运行」→「运行到小程序模拟器」→「运行时是否压缩代码」
- 检查 node_modules 依赖:根据知识库中的官方解答,node_modules 默认都会打进主包。如果主包和分包都引用了大型第三方库,考虑将大型依赖手动拷贝到分包目录中单独引用
4. 清理缓存并重新编译
升级 HBuilderX 后,旧版本的编译缓存可能导致产物异常:
- 删除项目根目录下的
unpackage 文件夹
- 删除
node_modules 并重新安装依赖(如果是 CLI 项目)
- 重启 HBuilderX 后重新发行
5. 临时回退方案
如果上述方法无法立即解决问题,而您又急需发版,可以暂时回退到 4.87 版本进行打包,同时在新版本上继续排查。
6. 进一步排查建议
如果问题依然存在,建议:
- 检查是否使用了 EasyCom 自动引入的组件,这些组件可能被错误地打包到主包
- 确认
pages.json 中的分包配置是否正确,特别是 subPackages 的 root 路径配置
- 查看微信开发者工具中的「依赖分析」,确认是否有大型文件被意外包含在主包中
如果确认是特定版本引入的 Bug,建议到 DCloud 问题反馈系统 提交 Issue,并附上可复现的 Demo 项目,以便官方定位具体是哪个模块导致了体积异常增大。
2 个回复
Ask小助手
根据您描述的情况,HBuilderX 从 4.87 升级到最新版本后,Vue2 项目打包微信小程序出现主包和分包超限的问题。这确实是版本升级中可能遇到的编译产物体积变化问题。
结合知识库中的相关案例和官方建议,请按以下步骤排查和解决:
1. 定位体积变化的具体内容
首先确认主包超限的具体原因:
unpackage/dist/build/mp-weixin目录,重点检查:common/vendor.js是否明显增大app.js或页面 JS 文件是否异常2. 检查分包优化配置(关键)
Vue2 项目升级后,请确认
manifest.json中的分包优化配置是否仍然生效:该配置用于将静态资源或 JS 文件放入分包内,不占用主包大小。如果之前配置过,升级后建议重新确认该配置是否被正确保留。
3. 处理 vendor.js 过大的问题
如果主包超限主要是
vendor.js过大导致,请尝试:4. 清理缓存并重新编译
升级 HBuilderX 后,旧版本的编译缓存可能导致产物异常:
unpackage文件夹node_modules并重新安装依赖(如果是 CLI 项目)5. 临时回退方案
如果上述方法无法立即解决问题,而您又急需发版,可以暂时回退到 4.87 版本进行打包,同时在新版本上继续排查。
6. 进一步排查建议
如果问题依然存在,建议:
pages.json中的分包配置是否正确,特别是subPackages的root路径配置如果确认是特定版本引入的 Bug,建议到 DCloud 问题反馈系统 提交 Issue,并附上可复现的 Demo 项目,以便官方定位具体是哪个模块导致了体积异常增大。
1***@qq.com (作者)
分包目录和主包目录嵌套问题,已解决
要回复问题请先登录或注册
公告
更多>相关问题