网站界面设计专利,网络营销案例小故事分享,哈尔滨市高考录取通知书投递,网络服务合同需要缴纳印花税吗一、分包-基础概念
1.1、什么是分包 分包指的是把一个完整的小程序项目#xff0c;按照需求划分为不同的子包#xff0c;在构建时打包成不同的分包#xff0c;用户在使用时按需进行加载。 1.2、分包的好处 对小程序进行分包的好处主要有以下两点#xff1a; 可以优化小程序…一、分包-基础概念
1.1、什么是分包 分包指的是把一个完整的小程序项目按照需求划分为不同的子包在构建时打包成不同的分包用户在使用时按需进行加载。 1.2、分包的好处 对小程序进行分包的好处主要有以下两点 可以优化小程序首次启动的下载时间 在多团队共同开发时可以更好的解耦协作 1.3、分包前项目的构成 分包前小程序项目中所有的页面和资源都被打包到了一起导致整个项目体积过大影响小程序首次启动的下载时间 1.4、分包后项目的构成 分包后小程序项目由1个主包多个分包组成 主包一般只包含项目的启动页面或TabBar页面、以及所有分包都需要用到的一些公共资源 分包只包含和当前分包有关的页面和私有资源 1.5、分包的加载规则 在小程序启动时默认会下载主包并启动主包内页面tabBar页面需要放到主包中。 当用户进入分包内某个页面时客户端会把对应分包下载下来下载完成后再进行展示非tabBar页面可以按照功能的不同划分为不同的分包之后进行按需下载。 1.6、分包的体积限制 目前小程序分包的大小有以下两个限制 整个小程序所有分包大小不超过16M(主包所有分包) 单个分包/主包大小不能超过2M 二、分包-使用分包
2.1、配置方法
小程序的目录结构
app.js app.json app.wxss pages(主包的所有页面) packageA(第一个分包) packageA(第二个分包) utilsindex logs pages(分包的所有页面) pagescat dog apple banana
在app.json的subpackages节点中声明分包的结构
{pages:[ // 主包的所有页面pages/index,pages/logs],subpackages:[ // 通过subpackages节点声明分包的结构{root:packageA, // 第一个分包的根目录pages:[ // 当前分包下所有页面的相对存放路径pages/cat,pages/dog]},{root:packageB, // 第二个分包的根目录name:pack2, // 分包的别名pages:[ // 当前分包下所有页面的相对存放路径pages/apple,pages/banana]},]
}
2.2、打包原则 1 小程序会按subpackages的配置进行分包subpackages之外的目录将被打包到主包中 2 主包也可以有自己的pages(即最外层的pages字段) 3 tabBar页面必须在主包内 4 分包之间不能互相嵌套 2.3、引用原则 1 主包无法引用分包内的私有资源 2 分包之间不能相互引用私有资源 3 分包可以引用主包内的公共资源 三、分包-独立分包
3.1、什么是独立分包 独立分包本质上也是分包只不过它比较特殊可以独立于主包和其他分包而单独运行 3.2、独立分包和普通分包的区别 最主要的区别是否依赖于主包才能运行 普通分包必须依赖于主包才能运行 独立分包可以在不下载主包的情况下独立运行 3.3、独立分包的应用场景 开发者可以按需将某些具有一定功能性的页面配置到独立分包中原因如下 当小程序从普通的分包页面启动时需要首先下载主包 而独立分包不依赖于主包即可运行可以很大程度上提升分包页面的启动速度 注意一个小程序中可以有多个独立分包 3.4、独立分包的配置方法
小程序的目录结构
app.js app.json app.wxss pages(主包的所有页面) moduleA(普通分包) muduleB(独立分包) urilsindex logs pages pagesrabbit squirrel pear pineapple
通过independent声明独立分包
{pages:[pages/index,pages/logs],subpackages:[{root:moduleA, // moduleA为普通分包pages:[pages/rabbit,pages/squirrel]},{root:moduleB,pages:[pages/pear,pages/pineapple],independent:true // 通过此节点声明当前moduleB分包为”独立分包“}]
}
3.5、引用原则 独立分包和普通分包以及主包之间是相互隔绝的不能相互引用彼此的资源例如 1 主包无法引用独立分包内的私有资源 2 独立分包之间不能相互引用私有资源 3 独立分包和普通分包之间不能相互引用私有资源 4 特别注意独立分包中不能引用主包内的公共资源 四、分包-分包预下载
4.1、什么是分包预下载 分包预下载指的是在进入小程序的某个页面时由框架自动预下载可能需要的分包从而提升进入后续分包页面时的启动速度。 4.2、配置分包的预下载
预下载分包的行为会在进入指定的页面时触发在app.json中使用preloadRule节点定义分包的预下载
规则示例代码如下
{preloadRule:{ // 分包预下载的规则pages/contact/contact:{ // 触发分包预下载的页面路径// network表示在指定的网络模式下进行预下载// 可选值为all(不限网络)和wifi(仅wifi模式下进行预下载)// 默认值为wifinetwork:all,// packages表示进入页面后预下载哪些分包// 可以通过root和name指定预下载哪些分包packages:[pkgA]}}
}
4.3、分包预下载的限制 同一个分包中的页面享有共同的预下载大小限额2M