uniapp如何分包

183 阅读1分钟

最近在负责开发一款垃圾回收小程序,本来是正常开发,一直没有上过线,等到了老板让上体验版,发现了一个问题,没办法上传上去。

image.png

开始了一顿 search


每个使用分包小程序必定含有一个主包。所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据开发者的配置进行划分。

目前小程序分包大小有以下限制:

  • 整个小程序所有分包大小不超过 20M
  • 单个分包/主包大小不能超过 2M

这是我的项目目录

image.png

找到根目录下的 pages.json

image.png

pages 是我们的主包路径

subPackages 是我们的分包路径

image.png

这里的名称我们需要对应,否则会报错

subPackages 中的内容和 pages 内容都是一样的,即为路径。

image.png

在 manifest.json 文件中添加"optimization":{"subPackages":true}开启分包优化

目前只支持mp-weixinmp-qqmp-baidu的分包优化

  • 静态文件:分包下支持 static 等静态资源拷贝,即分包目录内放置的静态资源不会被打包到主包中,也不可在主包中使用
  • js文件:当某个 js 仅被一个分包引用时,该 js 会被打包到该分包内,否则仍打到主包(即被主包引用,或被超过 1 个分包引用)
  • 自定义组件:若某个自定义组件仅被一个分包引用时,且未放入到分包内,编译时会输出提示信息