微信小程序の分包
使用场景&限制
- 优化小程序启动时加载事件,协同开发进行解耦
- 限制:
(1) tabbar或者首屏使用的文件不能进行分包
(2) 单个小程序打包大小不能超过2MB,使用分包总体小程序包体积不能大于20MB
值得注意:
如果需要分包,应该在小程序开发前期就规划好,定下基础模块,防止往后开发改造目录结构带来麻烦
使用分包
在根目录下简历packageModeName(模块名称)的文件夹
每个文件夹其实都是一个小程序开发目录,可以在里面定义assets,pages等等(app.js这些不需要配置)
配置路由
分包后,将app.json文件中分包的文件路由进行相应的删除
将微信路由跳转api的路径也进行相应的更改
url: ‘/分包模块名称/pages/….’subPackage配置(分包配置属性)
app.json文件配置分包属性 "subPackages": [ // 配置分包属性 { "root":"packageDetail", // 分包根目录名称(分包模块名称) "name":"pDetail", // 分包根目录别名,可以不写 "pages":[ // 分包路由配置 "pages/detail-search/index", "pages/detail-songs/index", "pages/detail-video/index" ] } ]
独立分包
定义: 所有功能(组件依赖,方法依赖)完全不依赖于主包,独立存在的一个包文件
使用场景: 扫描二维码
使用: 在分包配置的对象中设置”independent” : true 属性
"subPackage":[ { "root": "包模块根目录名称", "name": "包模块别名", "pages":[ ], // 页面路由 "independent" : true // 独立分包 属性 } ]
值得注意:
(1) 独立分包时,app.wxss对独立分包的页面不起到作用
(2) 独立分包完全不能依赖主包,相当于做一个独立的页面嵌进应用内
(3) App只能在主包定义,独立分包不行(可以使用getApp方法,如果主包没有下载下来,则获取不到值)
(4) 独立分包不支持插件
分包预下载
定义: 类似于懒加载,优先把主包加载完成,之后在闲置时下载设置预下载的分包
使用: 设置preloadRule
属性
"preloadRule":{ "需要分包预下载的页面路径":{ "newwork": "wifi/all", // 设置在哪个网络环境下可以预下载 " packages":[ root, name ] // 设置预下载的包名,使用root/name } }
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!