uniapp开发微信小程序如何进行分包
# 1. 分包结构
微信小程序规定,主包不能超过 2M , 所以当项目较大或者引用资源过多时,则需要涉及到分包策略
本文展示以 uniApp 操作分包为主,原生微信小程序大致逻辑相同,只不过配置略微差别,可以官方文档 (opens new window)
分包需要合理分配项目结构,一般把 Tab 页面所涉及的页面放在主包内,二级页面或者详情页则放在对应分包中.
# 2. 修改 manifest.json 文件
manifest.json
是 uniApp 配置文件,主要修改 微信小程序 那一块的源码信息,添加配置 optimization:{subPackages:true}
具体展示如下:
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "", // 微信开发者ID
"setting" : {
"urlCheck" : false,
"minified" : true,
"postcss" : true,
"es6" : true
},
"optimization" : {
"subPackages" : true // 允许分包
},
"plugins" : {}, // 插件
"usingComponents" : true,
"darkmode" : true, // 是否支持暗黑模式
"themeLocation" : "theme.json", // 暗黑模式配置文件
"lazyCodeLoading" : "requiredComponents", // 是否按需导入
"runmode" : "liberate"
},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 3. 修改 pages.json 文件
在未分包之前,所有的配置页面都会放在 pages:[]
数组中进行注册.
分包之后,则需要把 子包 涉及的页面 subPackages:[]
数组内注册
{
"pages": [
{
"path": "pages/exam/newIndex", // 主包路径
"style": {
"navigationBarTitleText": "真题",
"backgroundColor": "#f8f8f8"
}
},
..... // 其他 主包页面
],
"subPackages": [
{
"root": "pagesdetail/mine/", // 分包路径
"pages": [
{
"path": "mockExam",
"style": {
"navigationBarTitleText": "考试设置选择条件"
}
},
..... // 其他 分包页面
]
}
],
"tabBar": [],
"globalStyle": []
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 4. 修改跳转 url
因为分包结构的变化,所以对应项目内部的跳转也需要修改
例如:原来的页面是 pages/mine/mockExam
分包则放在了 pagesdetail
文件夹下,则路径修改为 /pagesdetail/mine/mockExam
上次更新: 11/13/2023, 1:14:54 PM