uniapp-分包创建可行性分析报告
分包加载配置,此配置为小程序的分包加载机制。
因小程序有体积和资源加载限制,各家小程序平台提供了分包方式,优化小程序的下载和启动速度。
所谓的主包,即放置默认启动页面/TabBar 页面,以及一些所有分包都需用到公共资源/JS 脚本;而分包则是根据pages.json的配置进行划分。
在小程序启动时,默认会下载主包并启动主包内页面,当用户进入分包内某个页面时,会把对应分包自动下载下来,下载完成后再进行展示。此时终端界面会有等待提示。
App默认为整包。从uni-app 2.7.12+ 开始,也兼容了小程序的分包配置。其目的不用于下载提速,而用于首页是vue时的启动提速。App下开启分包,除在pages.json中配置分包规则外,还需要在manifest中设置在app端开启分包设置,详见:https://uniapp.dcloud.io/collocation/manifest?id=app-vue-optimization
- subPackages 里的pages的路径是 root 下的相对路径,不是全路径。
- 微信小程序每个分包的大小是2M,总体积一共不能超过16M。
- 分包下支持独立的 static 目录,用来对静态资源进行分包。
https://github.com/wenruiweidd/uni-project-to-subpackage uniapp2wxpack 开源项目 Uni-App的微信小程序解耦构建
可以将uni-app项目输出给任何原生微信小程序项目作为目录、作为分包、甚至做极端的项目混合
可以直接在uni-app项目中引入原生微信小程序项目、页面、模块、任何资源(wxss、js、wxml、json、wxs等),完全不需要修改原生小程序的代码
可以保持原生微信小程序的目录结构不变,同时开发uni-app文件和原生小程序文件
可以使uni-app支持原生微信小程序插件的开发
对uni-app在微信小程序的打包方案进行改造,形成解耦打包,并且支持微信原生页面直接在uni-app项目中使用
实际操作:
直接创建子分包,页面无法打开,需要先微信小程序编译,编译后文件名称有所变化,然后重新配置微信子包引入,
建议独立创建uinapp项目,编译后在配置到微信开发项目
开发结果:(补)后期开发与uniapp事件(onLaunch等)使用不当会报错及无法达到想要的效果,回避方案,使用vue生命周期起处理大部分业务