Files
ks-app-employment-service/docs/进一步优化方案.md
2025-11-10 15:27:34 +08:00

4.9 KiB
Raw Blame History

主包体积进一步优化方案

当前状态

  • 优化前主包体积: 2.74MB
  • 第一次优化后: 2.19MB (已减少 550KB)
  • 目标: < 1.5MB
  • 还需减少: 约 690KB

已完成的优化

1. 删除未使用的大文件 (868KB)

  • uni_modules/lime-echart/static/echarts.min.js (567KB)
  • lib/lunar-javascript@1.7.2.js (301KB)

2. 移动 train 图片到分包 (预计 400-500KB)

  • static/images/train/ 目录移到 packageB/static/images/train/
  • 更新所有引用路径

已减少总计: 约 1.27MB - 1.37MB

进一步优化建议

方案一:优化图片资源(预计减少 200-300KB

1.1 压缩主包中的大图片

需要压缩的图片文件:

  • static/icon/background2.png - 检查大小
  • static/imgs/avatar.jpg (48KB) → 目标: <25KB
  • static/imgs/fristEntry.png - 检查大小
  • 其他 static/icon/ 目录下的图片

工具推荐:

1.2 将非首屏必需图片移到分包

  • static/imgs/ 目录移到分包(如果只在特定页面使用)
  • 检查 static/icon/ 中哪些图标可以移到分包

方案二:优化 Markdown 相关库(预计减少 296KB

2.1 当前情况

  • lib/highlight/highlight-uni.min.js: 203KB
  • lib/markdown-it.min.js: 93KB
  • 总计: 296KB

2.2 使用范围

  • 主包: pages/chat/chat.vue (主包页面)
  • 分包: packageA/pages/moreJobs/moreJobs.vue
  • 组件: components/md-render/md-render.vue
  • Store: stores/userChatGroupStore.js

2.3 优化方案

方案A: 将 chat 页面移到独立分包(推荐)

  • 创建新分包 packageChat
  • pages/chat/ 移到分包
  • 将 markdown 相关库移到分包
  • 预计减少: 296KB + chat页面代码体积

方案B: 使用更轻量的代码高亮库

  • 替换 highlight-uni.min.js 为更轻量的库
  • 或移除代码高亮功能(如果非必需)

方案C: 按需加载

  • 使用动态 import 按需加载 markdown 库
  • 只在需要时加载

方案三:检查并优化 components 目录

3.1 检查组件使用情况

需要检查的组件:

  • components/md-render/ - 如果只在 chat 使用,可移到分包
  • components/area-cascade-picker/ - 检查使用范围
  • 其他大型组件

3.2 优化策略

  • 将只在分包使用的组件移到对应分包
  • 将大型组件按需加载

方案四:检查 pages 目录

4.1 可以移到分包的页面

检查以下页面是否可以移到分包:

  • pages/complete-info/ - 补全信息相关(可能可以移到 packageA
  • pages/job/ - 发布岗位相关(可能可以移到 packageA
  • pages/demo/ - 演示页面(可以删除或移到测试分包)

4.2 优化策略

  • 将非核心功能页面移到分包
  • 删除测试/演示页面

方案五:清理未使用的 uni_modules

5.1 检查列表

检查以下模块是否在主包使用:

  • custom-waterfalls-flow
  • uni-data-select
  • uni-dateformat
  • uni-load-more
  • uni-popup
  • uni-steps
  • uni-swipe-action
  • uni-transition

5.2 优化策略

  • 如果只在分包使用,可以考虑移除主包引用
  • 使用 easycom 配置确保组件能正确加载

方案六:优化 common 目录

6.1 检查文件

  • common/vendor.js - 如果存在,检查是否可以优化
  • common/globalFunction.js - 检查是否可以拆分
  • 其他 common 文件

推荐执行顺序

优先级1立即执行预计减少 300-400KB

  1. 压缩主包中的大图片
  2. pages/demo/ 删除或移到测试分包
  3. 检查并清理未使用的 uni_modules

优先级2中期执行预计减少 296KB

  1. 将 chat 页面移到独立分包推荐方案A
  2. 或使用更轻量的代码高亮库方案B

优先级3长期优化

  1. 优化 components 目录
  2. 优化 pages 目录结构
  3. 优化 common 目录

预期效果

优化项 预计减少 优先级
压缩图片 200-300KB 🔴
移动 chat 页面到分包 296KB+ 🔴
删除 demo 页面 50-100KB 🟡
清理 uni_modules 100-200KB 🟡
优化 components 50-150KB 🟢

总计预计减少: 696KB - 1046KB

优化后主包体积: 约 1.14MB - 1.49MB

注意事项

  1. 备份: 在执行优化前,请先备份项目
  2. 测试: 每个优化步骤后都要进行完整测试
  3. 引用路径: 确保所有文件引用路径正确更新
  4. 分包限制: 注意微信小程序分包大小限制(单个分包不超过 2MB
  5. 主包限制: 主包大小必须控制在 1.5MB 以内

验证方法

  1. 使用微信开发者工具上传代码,查看主包体积
  2. 使用代码依赖分析工具验证优化效果
  3. 测试各个功能模块确保正常工作
  4. 检查分包加载是否正常