我们在日常小程序开发中,经常遇到主包大小的限制(2M),所以我们需要做分包加载。
整个小程序所有分包大小不超过 30M(服务商代开发的小程序不超过 20M)
单个分包/主包大小不能超过 2M
Tips: tabbar必须得放在主包里
- 直接在我们的app.json文件里,设置subPackages字段,会自动生成对应的文件和文件夹。分包之间互相不可引用,分包可以引用主包的文件,但是主包不能引用分包的文件。
{
"pages": [
"pages/index/index",
"pages/logs/logs"
],
"subPackages": [
{
"root": "packageA",
"name": "packageA",
"pages": [
"pages/chat/index"
]
}, {
"root": "packageB",
"name": "packageB",
"pages": [
"pages/map/index"
]
}
],
}
- 为了提升启动速度,一般我们需要对分包做预下载的操作。增加preloadRule字段,下图代表进入pages/index/index页面后,开始下载packageA和packageB,这个是分包的name。network可以为all 或者wifi ,一个不限制网络 一个限制wifi 下载。注意: 一个页面下预下载的分包总大小也不能超过2M!
{
"pages": [
"pages/index/index",
"pages/logs/logs"
],
"subPackages": [
{
"root": "packageA",
"name": "packageA",
"pages": [
"pages/chat/index"
]
}, {
"root": "packageB",
"name": "packageB",
"pages": [
"pages/map/index"
]
}
],
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": [
"packageA",
"packageB"
]
}
}
}
- 小程序里有时候需要使用NPM 安装第三方包,那么点击工具栏里的终端,运行命令 npm init -y 生成一个 package.json 文件。
npm init -y
3.1 举个例子,npm i tdesign-miniprogram -S --production
3.2 安装完之后,需要在微信开发者工具中对 npm 进行构建:工具 - 构建 npm,会对应生成miniprogram_npm的文件夹
-
因为这个npm是在主包里的,所以三方包多的话,主包很容易超出2M,所以npm分包,在分包A里,同理运行命令 npm init -y 生成一个 package.json 文件。install并构建后
-
最后查看代码体积分析