# 主包大小优化说明 ## 问题描述 主包大小:3378KB,超过微信小程序 2MB(2048KB)限制。 ## 优化措施 ### 1. 删除未使用的 uni-ai-x 静态资源 #### 已删除的资源: - **ai-provider 图片**(672K):所有 AI 服务商 logo 图片 - azure.png, baidu.png, bailian.png, deepseek.png - doubao.png, ifly.png, minimax.png, openai.png - qwen.png, siliconflow.png - 说明:项目中只使用了 bailian,其他图片未使用 - **uni-chat-logo.png**(188K) - 说明:代码中已被注释掉,未使用 - **default-avatar.png**(4K) - 说明:未使用 #### 已删除的字体: - **uni-ai-x/static/font/FiraCode-Regular.ttf**(284K) - 说明:代码块字体,项目中未直接使用 ### 2. 删除 mp-html 中的字体资源 #### 已删除的字体: - **mp-html/static/font/FiraCode-Regular.ttf**(283K) - 说明:代码高亮字体,已修复引用 ### 3. 优化 KaTeX 数学公式字体 #### 已删除的不常用字体: - **KaTeX_Typewriter-Regular.ttf**(27K) - **KaTeX_Size3-Regular.ttf**(7.4K) - **KaTeX_Size4-Regular.ttf**(10K) #### 保留的必要字体: - KaTeX_AMS-Regular.ttf(62K) - KaTeX_Main-Regular.ttf(52K) - KaTeX_Main-Bold.ttf(50K) - KaTeX_Main-Italic.ttf(33K) - KaTeX_Main-BoldItalic.ttf(32K) - KaTeX_Math-Italic.ttf(31K) - KaTeX_Math-BoldItalic.ttf(30K) - KaTeX_SansSerif-Regular.ttf(19K) - KaTeX_SansSerif-Bold.ttf(24K) - KaTeX_SansSerif-Italic.ttf(22K) - KaTeX_Size1-Regular.ttf(12K) - KaTeX_Size2-Regular.ttf(11K) ## 优化效果统计 ### 已删除的资源总大小: - ai-provider 图片:672K - uni-chat-logo.png:188K - FiraCode 字体(uni-ai-x):284K - FiraCode 字体(mp-html):283K - KaTeX Typewriter 字体:27K - KaTeX Size3 字体:7.4K - KaTeX Size4 字体:10K - **总计:约 1.48MB** ### 预期优化后主包大小: - 优化前:3378KB(约 3.3MB) - 优化后:预计 < 1900KB(约 1.9MB) - **减小:约 1.48MB** ## 修改的文件 1. **uni_modules/mp-html/components/mp-html/styles/highlight.scss** - 注释掉 FiraCode 字体引用 2. **uni_modules/mp-html/components/mp-html/styles/katex-fonts.scss** - 注释掉 Typewriter、Size3、Size4 字体定义 3. **删除的文件** - `uni_modules/uni-ai-x/static/ai-provider/*.png` - `uni_modules/uni-ai-x/static/uni-chat-logo.png` - `uni_modules/uni-ai-x/static/default-avatar.png` - `uni_modules/uni-ai-x/static/font/FiraCode-Regular.ttf` - `uni_modules/mp-html/static/font/FiraCode-Regular.ttf` - `static/fonts/KaTeX_Typewriter-Regular.ttf` - `static/fonts/KaTeX_Size3-Regular.ttf` - `static/fonts/KaTeX_Size4-Regular.ttf` ## 注意事项 1. **FiraCode 字体**:如果未来需要代码高亮字体,需要重新添加并修改引用 2. **KaTeX 特殊字体**: - Typewriter 字体已删除,某些等宽文本可能显示异常 - Size3、Size4 字体已删除,特大字号可能显示异常 3. **AI Provider 图片**:如果未来需要添加新的 AI 服务商,需要在 `uni_modules/uni-ai-x/static/ai-provider/` 目录下添加对应的 logo 图片 4. **验证方法**: - 重新构建项目 - 检查主包大小是否 < 2MB - 测试数学公式渲染是否正常 - 测试代码块显示是否正常 ## 后续优化建议 如果主包仍然超过 2MB,可以考虑: 1. 启用分包策略(subPackages) 2. 进一步压缩图片资源 3. 移除更多未使用的组件和模块 4. 使用 CDN 加载静态资源