1 .分包为什么使用分包
第一版小程序的代码包的大小不能超过1MB。 因此,小程序可以在秒内打开,但随着业务的发展,整个小程序的分包大小都在8M以下,8M无法在秒内打开,所以发出分包加载。
对于小程序而言
整个小程序的分包大小不超过8M
分包/主包装的尺寸不能超过2M
在applet启动时,缺省情况下将下载主包,并启动主包中的页面
当用户进入分包内的某个页面时,客户端会下载相应的分包,下载完成后进行展示。
分包支持的版本
现在支持微信客户端6.6.0、基础库1.7.3或更高版本。 开发者工具请使用1.01.1712150版或以上
转载: https://www.Jian Shu.com/p/e 51316 e15 a6a
2 .小程序分包步骤step1:
添加项目目录
APP.js
APP.JSON
app.wxss
packageA
() pages
() ) cat
() dog
packageb
() pages
() )苹果
() banana
pages
() )索引
() logs
( utils
step2:
将分包目录添加到app.json中的目录结构中(可以是subpackages或subpackages )
{ 'pages':[ 'pages/index ',' pages/logs' ],' sub packages ' : [ { ' root ' : ' packagea ',' pages ]
step3:
分包结构
子包的构成项目如下
根字符串分包途径
name String分包别名,分包预下载时可用
pages StringArray分包页面的路径、相对路由和分包路由
独立布尔分包是否为独立分包
打包规则
2 .声明subpackages将按subpackages配置路径打包,2.subpackages配置路径打包为分包,其他打包在app (主包)中
3.app (主软件包)还可以具有其自己的pages或最外层pages字段
4.subpackage的根目录不能是另一个subpackage中的子目录
5.tabBar页面必须位于APP (主包)中
6 .虽然每个分包都可以使用自己分包中的资源,或者引用require app中的资源,但是分包与分包之间不能通信,分包与主包下的页面中的内容也不能通信。 (
分包提前下载基础库2.3.0并开始支持,低版本需要兼容处理。 可以使用1.02.1808300或更高版本从此下载开发人员工具。
目前只支持通过配置方式使用,暂不支持通过调用API完成
通过配置,框架可以在进入小程序所在的页面时自动预下载可能需要的分包,并在进入后续分包页面时提高启动速度。
配置方法
在app.json中增加 preloadRule 配置来控制。
{ 'pages': ['pages/index'],' sub packages ' : [ { ' root ' 3360 ' important ',' pages ' 3360 [ ' index ] ] ' root': 'path/to ',' pages': ['index'] ' ] } { ' root ' : ' indep ',' pages ' : [ ' index ',},} ' preload rule ' : { ' pages/' pages } ' packages ' : [ ' important ' ] },' sub1/index ' : { ' packages ' :
key是页面路径,value是用于访问此页面的预下载配置
packages的value为StringArray类型,表示进入页面后预先下载分包的root或name。 APP代表主包
network表示string类型的默认值为“‘wifi’”,表示已在指定网络上预先下载。
选项的值为
all:无限网络
wifi:仅在wifi上下载
同一分包内的页面有通用的预下载大小限额2M,一个分包内的所有页面加起来只有2M的预下载。 限额在用工具包装时会被检查。
独立承包以上配置
支持微信客户端6.7.2、基础库2.3.0或更高版本。 可以使用1.02.1808300或更高版本从此下载开发人员工具。
1 .从独立承包页面进入小程序时,不需要下载主包。
2 .从普通分包页面进入小程序时,首先下载主包
优点:提高分包页面的启动速度。
小程序游戏不支持独立分包。
配置方法
{ 'pages': [ 'pages/index ',' pages/logs' ],' sub packages ' : [ { ' root ' : ' modulea ',' pages '