最近在负责开发一款垃圾回收小程序,本来是正常开发,一直没有上过线,等到了老板让上体验版,发现了一个问题,没办法上传上去。
开始了一顿 search
每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。
目前小程序分包大小有以下限制:
- 整个小程序所有分包大小不超过 20M
- 单个分包/主包大小不能超过 2M
这是我的项目目录
找到根目录下的 pages.json
pages 是我们的主包路径
subPackages 是我们的分包路径
这里的名称我们需要对应,否则会报错
subPackages 中的内容和 pages 内容都是一样的,即为路径。
在 manifest.json 文件中添加"optimization":{"subPackages":true}开启分包优化
目前只支持mp-weixin、mp-qq、mp-baidu的分包优化
- 静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用
- js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)
- 自定义组件:若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息