# 小程序主包优化方案 ## 当前状态 ### 代码包大小 - **总大小**: 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. 重新编译测试