火山知识库
欢迎来到火山知识库,这是一个开源的技术笔记分享平台,记录了社区贡献者在学习和工作过程中的心得体会与技术总结。这里汇集了客户端、服务端、DevOps和AI应用与大模型等领域的学习笔记和实践经验,希望能对其他开发者有所帮助,也欢迎大家一起交流学习。
📚 知识领域
火山知识库分为五大技术领域:
- 客户端技术 - 包含以下六个方面:
- Web前端技术 - 包含语言基础、框架与库、工程化、浏览器API、性能优化等
- JavaScript、TypeScript、CSS - 语言基础
- 框架与库 - 前端框架(React/Vue)、全栈框架(Next.js/Nuxt)、状态管理
- 工程化与构建 - 构建工具、包管理、代码质量
- 浏览器与API - Web API、浏览器原理、存储与缓存
- 性能与优化 - 加载性能、运行时性能、指标监控
- 可访问性与用户体验 - WCAG标准、交互设计
- 移动应用技术 - React Native、Flutter、小程序等跨平台解决方案
- 桌面应用技术 - Electron、Tauri等跨平台桌面技术
- 3D与可视化技术 - Three.js、WebGL、数据可视化等
- 测试与质量保障 - 单元测试、E2E测试、性能测试、兼容性测试等
- 工程化与最佳实践 - 工程架构、CI/CD、设计系统、安全实践等
- Web前端技术 - 包含语言基础、框架与库、工程化、浏览器API、性能优化等
- 服务端技术 - 包含以下六个方面:
- 系统与底层 - 包含以下五个方面:
- DevOps与云原生 - 从平台工程与运维视角的技术,包含以下五个方面:
- AI应用与大模型 - 包含以下五个方面:
💡 服务端运维与DevOps的区别
- 服务端 - 运维与部署侧重于开发者视角,关注如何将服务端应用部署到生产环境
- DevOps与云原生侧重于平台工程与运维视角,关注如何构建和管理整个技术基础设施
⭐ 特色功能
- 自动侧边栏 - 目录结构自动映射为侧边栏导航,无需手动维护
- 深色模式 - 支持浅色/深色主题切换,保护你的眼睛
- 全文检索 - 快速查找相关内容,提高查阅效率
- 响应式设计 - 完美适配从手机到桌面的各种设备
- 代码高亮 - 优化的代码展示,支持多种编程语言
- 图表支持 - 内置多种图表绘制功能,直观展示数据
- 性能优化 - 智能代码分割和构建优化,确保快速加载
🚀 开发与构建
快速开始
bash
# 安装依赖
pnpm install
# 启动开发服务器
pnpm run dev
# 构建生产版本
pnpm run build
# 预览构建结果
pnpm run preview
构建优化
项目采用了多项构建优化技术,确保最佳的加载性能:
📦 已实施的优化
- 智能代码分割 - 自动将大型依赖库分离为独立 chunk
shiki
(代码高亮) → 独立包markdown-it
(Markdown 解析) → 独立包minisearch
(搜索功能) → 独立包- 其他第三方依赖 → 统一 vendor 包
- CSS 代码分割 - CSS 文件独立加载,减少主包大小
- esbuild 压缩 - 使用 esbuild 进行快速压缩,提升构建速度
- 合理 chunk 限制 - 设置 2MB 的 chunk 大小警告阈值
🔧 构建命令详解
bash
# 生产构建(部署使用)
pnpm run build
# 优化构建(包含详细分析)
pnpm run build:optimized
# 完整构建(图片分析 + 构建 + 分析)
pnpm run build:full
# 图片资源分析
pnpm run optimize:images
📊 构建分析
优化后的构建结果:
- 总包大小:~11MB
- JavaScript 文件:213 个,平均每个文件 ~48KB
- CSS 文件:2 个,总计 ~122KB
- 最大单文件:~245KB(文档内容)
💡 部署提示:生产环境部署只需执行
pnpm run build
,其他命令仅用于开发时的分析和优化参考。
✨ 浏览指南
- 使用左侧侧边栏浏览不同技术领域的内容
- 使用顶部导航快速切换主要内容区域
- 使用搜索框查找特定主题
- 点击右上角切换深色/浅色模式
🤝 参与贡献
欢迎各种形式的贡献,包括内容修正、新主题添加和功能改进。你可以通过以下方式参与:
- 在 GitHub 上提交 Issue 或 Pull Request(请参考贡献指南)
- 通过邮件或Issue联系项目维护者
- 分享这个知识库给更多需要的人
📖 关于
这个知识库代表了社区贡献者对技术的理解和积累,会不断更新和完善。如需了解更多,请查看关于页面。