微信小程序-上传代码失败,提示分包大小超过限制

本文提供了针对小程序开发的优化建议,包括代码包大小控制,避免单个包超过1.5M,合理使用分包;关注插件和静态资源大小,超过200K的应考虑使用CDN;移除无用的插件和组件,开启JS、WXML和WXSS压缩;处理无依赖文件,并启用组件懒注入以提高加载速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项:

1. 代码包不包含插件大小超过 1.5 M

【建议】小程序代码包单个包大小限制为2M。因此我们建议开发者在开发时,如果遇到单包体积大于1.5M的情况,可以采取分包的方式,把部分代码拆分到分包去,降低单个包的体积,提升小程序的加载速度。具体可以查看文档《使用分包》

2. 引用插件大小超过 200 K

【知会】小程序插件的大小是会算进小程序代码包2M体积限制中的。因此当我们发现开发者引用的插件体积大于200K时,会对开发者予以提示,避免出现上传阶段提示代码包体积超限,但是不知道为何超限的问题。

3. 图片和音频资源大小超过 200 K

【建议】小程序代码包里可以存放一些必要的静态资源(如tabbar的icon等);但其他非必要的静态资源体积过大会影响小程序代码包加载速度。因此我们建议图片、音频等静态资源体积大小超过200K时,将它们上传到CDN,用URL引入会是个更好的选择。

4. 主包存在仅被其他分包依赖的JS

【建议】当主包里存在一些JS文件只会被分包使用(而主包自己不使用)时,我们建议把这些JS文件从主包中拆分出去,放到对应的分包里,从而优化主包的加载速度。

5. 主包存在仅被其他分包依赖的组件

【建议】当主包里存在一些组件只会被分包使用(而主包自己不使用)时,我们建议把这些组件从主包拆分出去,并且可以使用 分包异步化 这个特性加载这些组件,从而优化主包的加载速度。

6. 存在无使用的插件

【必须】如果有无使用的插件,请将其从 app.json 中去除。不然它会占用代码包体积,也会延迟代码包加载的时间。

7. 存在无使用的组件

【必须】如果在对应页面JSON的 `usingComponents` 里声明的组件但是没有使用,请将其从 `usingComponents` 里去除。

8. 未开启JS压缩

【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩脚本文件」的设置

9. 未开启WXML压缩

【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩wxml文件」的设置

10. 未开启WXSS压缩

【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩样式文件」的设置

11. 存在无依赖文件

【必须】在「代码质量」面板,点击「建议去除」后,可以打开代码依赖分析面板的「无依赖文件」页面,这里可以看到代码包里没有被用到的文件。请在代码包中去除这部分文件,减小体积并优化加载速度。

在本地开发的过程中,会自动过滤无依赖的文件,如果出现误过滤的情况,可以在 project.config.json 的 setting 字段中添加 ignoreDevUnusedFiles 为 false,也可以在 packOptions 的 include 字段中手动将被忽略的文件引入,同时欢迎发帖反馈误报的情况提交代码片段帮助我们完善此功能

注意:页面若为配置在 app.json 中,将被识别为无依赖文件

12. 未开启组件懒注入(按需注入)

【必须】在 app.json 中加入 `"lazyCodeLoading": "requiredComponents"` 可以开启小程序组件按需注入特性

### UniApp 微信小程序分包教程 #### 一、理解分包概念 微信小程序分包是一种优化小程序项目结构和性能的方法。通过将小程序代码拆分为多个子包,可以在用户需要时动态加载这些子包,从而减少小程序的首次加载时间并控制主包体积[^3]。 #### 二、设置分包规则 在 `manifest.json` 文件中的 `mp-weixin` 配置项里定义分包逻辑: ```json { "mp-weixin": { "subpackages": [ { "root": "packageA", "name": "subpackageA", "pages": ["index", "otherPage"] }, { "root": "packageB", "name": "subpackageB", "independent": true, "pages": ["anotherIndex"] } ] } } ``` 上述配置表示有两个独立的分包 packageA 和 packageB 。其中 packageB 被标记为独立 (independent),意味着它可以单独运行而不依赖于其他任何页面或资源[^5]。 #### 三、注意事项 - 主包加上所有分包的整体大小不得超过20MB; - 单独的主包(含公共资源)最大不超过2MB; - 对某些情况下,实际操作中发现主包建议保持在1.5MB以内以确保更好的兼容性和稳定性[^4]; #### 四、实现示例 假设有一个简单的电商应用,包含商品列表页(list)、详情页(detail)和其他功能模块,则可按如下方式创建分包结构: ```plaintext project/ ├── common/ # 公共组件库 │ └── ... ├── pages/ │ ├── index.vue # 启动首页 │ └── list.vue # 商品列表页 └── sub-packages/ ├── productDetail/# 商品详情分包 │ └── detail.vue └── otherFeature/ # 其他特性分包 └── feature.vue ``` 对应的 manifest.json 中应增加相应的分包描述: ```json "subPackages":[ {"root":"sub-packages/productDetail","pages":["detail"]}, {"root":"sub-packages/otherFeature","pages":["feature"]} ] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源商城源码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值