Files
ks-app-employment-service/docs/优化执行记录.md
2025-11-10 15:27:34 +08:00

4.4 KiB
Raw Blame History

主包体积优化执行记录

优化时间

2024年具体日期待补充

已完成的优化

1. 删除主包中未使用的 echarts.min.js

  • 文件路径: uni_modules/lime-echart/static/echarts.min.js
  • 文件大小: 567KB
  • 删除原因:
    • 该文件只在 packageCa 分包中使用
    • packageCa 分包已有自己的 packageCa/utilCa/echarts.min.js
    • l-echart 组件通过 init() 方法接收 echarts 实例,不直接引用主包文件
    • lime-echart 组件未被使用
  • 影响范围: 无影响,分包功能正常

2. 删除主包中未使用的 lunar-javascript@1.7.2.js

  • 文件路径: lib/lunar-javascript@1.7.2.js
  • 文件大小: 301KB
  • 删除原因:
    • 该文件只在 packageA/pages/selectDate/selectDate.vue 中使用
    • packageA 分包已有自己的 packageA/lib/lunar-javascript@1.7.2.js
    • 主包中没有任何页面使用该文件
  • 影响范围: 无影响,分包功能正常

3. 将 static/images/train 目录移到 packageB 分包

  • 目录路径: static/images/train/
  • 目录大小: 约 400-500KB
  • 移动原因:
    • 该目录下的图片只在 packageB 分包中使用
    • 包括 video-bj2.png (156KB)、video-jt.png (126KB) 等大图片
  • 操作:
    • 移动到 packageB/static/images/train/
    • 更新所有引用路径为 /packageB/static/images/train/
  • 影响范围: 无影响,分包功能正常

4. 删除未使用的 demo 页面

  • 目录路径: pages/demo/
  • 删除原因:
    • 该目录不在 pages.json 中配置
    • 仅包含演示文件,未实际使用
  • 影响范围: 无影响

优化效果

已减少体积

  • echarts.min.js: 567KB
  • lunar-javascript@1.7.2.js: 301KB
  • static/images/train/: 约 400-500KB移到 packageB 分包)
  • pages/demo/: 已删除(未使用)
  • 总计: 约 1.27MB - 1.37MB

优化前主包体积

  • 2.74MB

优化后主包体积(预估)

  • 约 1.37MB - 1.47MB (减少 50-50.5%)

当前状态

  • 当前主包体积: 2.19MB
  • 目标: < 1.5MB
  • 还需减少: 约 690KB

待执行的优化

1. 图片资源优化(预计减少 300-400KB

  • 压缩 static/images/train/video-bj2.png (156KB → <80KB)
  • 压缩 static/images/train/video-jt.png (126KB → <60KB)
  • 压缩 static/images/train/spxx-k.png (54KB → <30KB)
  • 压缩 static/images/train/bj.jpg (52KB → <30KB)
  • 压缩 static/imgs/avatar.jpg (48KB → <25KB)
  • 将非首屏必需图片移到分包

2. Markdown 相关库优化(预计减少 166KB

  • 说明: lib/highlight/highlight-uni.min.js (166KB) 在 utils/markdownParser.js 中使用
  • 使用范围:
    • 主包: pages/chat/chat.vue
    • 分包: packageA/pages/moreJobs/moreJobs.vue
    • 组件: components/md-render/md-render.vue
    • Store: stores/userChatGroupStore.js
  • 建议: 由于被主包和分包共同使用,暂时保留在主包。如需进一步优化,可考虑:
    • 使用更轻量的代码高亮库
    • 按需加载 highlight 库
    • 将 chat 相关功能移到独立分包

3. uni_modules 清理(预计减少 100-200KB

  • 检查 custom-waterfalls-flow 是否在主包使用
  • 检查 uni-data-select 是否在主包使用
  • 检查 uni-dateformat 是否在主包使用
  • 检查 uni-load-more 是否在主包使用
  • 检查 uni-popup 是否在主包使用
  • 检查 uni-steps 是否在主包使用
  • 检查 uni-swipe-action 是否在主包使用
  • 检查 uni-transition 是否在主包使用

验证方法

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

注意事项

  1. 备份: 已删除的文件可以从版本控制中恢复
  2. 测试: 建议在测试环境完整测试后再发布
  3. 引用路径: 所有文件引用路径已验证正确
  4. 分包限制: 注意微信小程序分包大小限制(单个分包不超过 2MB
  5. 主包限制: 主包大小建议控制在 1.5MB 以内

后续建议

  1. 定期检查: 每月检查主包体积,防止体积反弹
  2. 图片规范: 建立图片压缩和优化规范
  3. 依赖管理: 新增依赖时评估对主包体积的影响
  4. 代码审查: 在代码审查时关注主包体积变化