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

119 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 主包体积优化执行记录
## 优化时间
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. **代码审查**: 在代码审查时关注主包体积变化