128 lines
3.6 KiB
Markdown
128 lines
3.6 KiB
Markdown
|
|
# 小程序主包优化方案
|
|||
|
|
|
|||
|
|
## 当前状态
|
|||
|
|
|
|||
|
|
### 代码包大小
|
|||
|
|
- **总大小**: 6MB
|
|||
|
|
- **主包限制**: 2MB
|
|||
|
|
- **问题**: 主包超过限制,无法上传
|
|||
|
|
|
|||
|
|
### 主包页面(27个)
|
|||
|
|
当前主包包含太多页面,需要精简:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
pages/index/index ✅ 保留(首页)
|
|||
|
|
pages/service/list ✅ 保留(Tab页)
|
|||
|
|
pages/search/index ✅ 保留(搜索)
|
|||
|
|
pages/search/result ✅ 保留(搜索结果)
|
|||
|
|
pages/promo/detail ❌ 移到 activity-package
|
|||
|
|
pages/booking/quick-booking ✅ 保留(Tab页)
|
|||
|
|
pages/order/list ✅ 保留(Tab页)
|
|||
|
|
pages/user/index ✅ 保留(Tab页)
|
|||
|
|
pages/user/setting ❌ 移到 user-package
|
|||
|
|
pages/service/detail ✅ 保留(服务详情)
|
|||
|
|
pages/teacher/detail ✅ 保留(教师详情)
|
|||
|
|
pages/teacher/reviews ❌ 移到 teacher-package
|
|||
|
|
pages/teacher/list ✅ 保留(选择陪伴员)
|
|||
|
|
pages/message/chat ❌ 移到 common-package
|
|||
|
|
pages/login/index ✅ 保留(登录)
|
|||
|
|
pages/register/role-select ✅ 保留(注册)
|
|||
|
|
pages/register/index ✅ 保留(注册)
|
|||
|
|
pages/booking/teacher-booking ❌ 移到 order-package
|
|||
|
|
pages/auth/role-select ✅ 保留(身份选择)
|
|||
|
|
pages/auth/parent-register ✅ 保留(家长注册)
|
|||
|
|
pages/auth/parent-quick-register ✅ 保留(快速注册)
|
|||
|
|
pages/agreement/user ❌ 移到 common-package
|
|||
|
|
pages/agreement/privacy ❌ 移到 common-package
|
|||
|
|
pages/test/simple ❌ 删除(测试页面)
|
|||
|
|
pages/payment/index ❌ 移到 order-package
|
|||
|
|
pages/course/list ❌ 移到 activity-package
|
|||
|
|
pages/course/detail ❌ 移到 activity-package
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 优化后主包页面(13个)
|
|||
|
|
保留核心页面:
|
|||
|
|
1. 首页
|
|||
|
|
2. 5个Tab页(首页、服务、快速预约、日历、我的)
|
|||
|
|
3. 登录/注册相关(4个)
|
|||
|
|
4. 搜索相关(2个)
|
|||
|
|
5. 服务详情
|
|||
|
|
6. 教师详情
|
|||
|
|
7. 教师列表
|
|||
|
|
|
|||
|
|
## 优化步骤
|
|||
|
|
|
|||
|
|
### 步骤1: 备份当前配置
|
|||
|
|
```bash
|
|||
|
|
copy peidu\uniapp\src\pages.json peidu\uniapp\src\pages.json.backup
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤2: 修改 pages.json
|
|||
|
|
|
|||
|
|
将以下页面从主包移到对应分包:
|
|||
|
|
|
|||
|
|
#### 移到 user-package
|
|||
|
|
- pages/user/setting
|
|||
|
|
|
|||
|
|
#### 移到 order-package
|
|||
|
|
- pages/booking/teacher-booking
|
|||
|
|
- pages/payment/index
|
|||
|
|
|
|||
|
|
#### 移到 activity-package
|
|||
|
|
- pages/promo/detail
|
|||
|
|
- pages/course/list
|
|||
|
|
- pages/course/detail
|
|||
|
|
|
|||
|
|
#### 移到 common-package
|
|||
|
|
- pages/message/chat
|
|||
|
|
- pages/agreement/user
|
|||
|
|
- pages/agreement/privacy
|
|||
|
|
|
|||
|
|
#### 移到 teacher-package
|
|||
|
|
- pages/teacher/reviews
|
|||
|
|
|
|||
|
|
#### 删除
|
|||
|
|
- pages/test/simple
|
|||
|
|
|
|||
|
|
### 步骤3: 更新页面跳转路径
|
|||
|
|
|
|||
|
|
所有跳转到移动页面的地方需要更新路径,例如:
|
|||
|
|
```javascript
|
|||
|
|
// 原来
|
|||
|
|
uni.navigateTo({ url: '/pages/user/setting' })
|
|||
|
|
|
|||
|
|
// 修改后
|
|||
|
|
uni.navigateTo({ url: '/user-package/pages/user/setting' })
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 步骤4: 重新编译测试
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
npm run dev:mp-weixin
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 预期效果
|
|||
|
|
|
|||
|
|
移动 14 个页面后,主包大小预计减少约 **1-1.5MB**,应该可以控制在 2MB 以内。
|
|||
|
|
|
|||
|
|
## 风险提示
|
|||
|
|
|
|||
|
|
1. **页面跳转失败**: 移动页面后,所有跳转路径都需要更新
|
|||
|
|
2. **Tab页限制**: Tab页必须在主包中,不能移动
|
|||
|
|
3. **首次访问页面**: 首次访问的页面建议放主包,提升体验
|
|||
|
|
|
|||
|
|
## 建议
|
|||
|
|
|
|||
|
|
由于涉及大量页面路径修改,建议:
|
|||
|
|
|
|||
|
|
1. **先测试**: 在开发环境充分测试
|
|||
|
|
2. **分步进行**: 先移动几个页面测试,确认无问题后再继续
|
|||
|
|
3. **记录修改**: 记录所有修改的跳转路径,便于回滚
|
|||
|
|
|
|||
|
|
## 需要确认
|
|||
|
|
|
|||
|
|
是否需要我帮你执行这个优化方案?如果需要,我会:
|
|||
|
|
1. 修改 pages.json
|
|||
|
|
2. 搜索并更新所有相关的页面跳转路径
|
|||
|
|
3. 重新编译测试
|