什么是分包 分包指的是把一个完整的小程序项目,按照需求划分为不同的子包, 在构建时打包成不同的分包,用户在使用时按需进行加载。 分包的好处 对小程序进行分包的好处主要有以下两点: ● 可以优化小程序首次启动的下载时间 ● 在多团队共同开发时可以更好的解耦协作 分包的体积限制分包的体积限制 目前,小程序分包的大小有以下两个限制: . ● 整个小程序所有分包大小不超过20M (主包+所有分包) ● 单个分包/主包大小不 能超过2M

官方文档见: https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html

{

"pages":[

"pages/index",

"pages/logs"

],

"subpackages": [

{

"root": "packageA",

"pages": [

"pages/cat",

"pages/dog"

]

}, {

"root": "packageB",

"name": "pack2",

"pages": [

"pages/apple",

"pages/banana"

]

}

]

}

打包原则

●声明 subpackages 后,将按 subpackages 配置路径进行打包,subpackages 配置路径外的目录将被打包到主包中

●主包也可以有自己的 pages,即最外层的 pages 字段。

●subpackage 的根目录不能是另外一个 subpackage 内的子目录

●tabBar 页面必须在主包内

引用原则

●packageA 无法 require packageB JS 文件,但可以 require 主包、packageA 内的 JS 文件;使用 分包异步化 时不受此条限制

●packageA 无法 import packageB 的 template,但可以 require 主包、packageA 内的 template

●packageA 无法使用 packageB 的资源,但可以使用主包、packageA 内的资源 低版本兼容

下面进入实操

一、首先在app.json里面建一个与pages同级的键:subPackages,再建包名,如图所示:

名字自己定义好就行 二、自动创建完后,需要重启微信开发者工具

三、重新打开,即可看到分包完成 分包完成。

分包与主包之间的页面跳转:

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面,路径后不能带参数。此方法跳转的页面必须是在tabBar定义过的页面.

wx.switchTab(Object object)

wx.switchTab({url: '/index'})

关闭所有页面,打开到应用内的某个页面,路径后面可带参数。

wx.reLaunch(Object object)

wx.reLaunch({

url: 'test?id=1'

})

介绍完毕。

查看原文