关于 vite
面向 Vite 应用开发者的性能优化指南,适用于配置、排障和优化。42 条按影响排序的规则涵盖开发服务器、构建、插件与 CSS。
主要功能
- 01涵盖八类共 42 条规则
- 02按影响优先级组织建议
- 03涉及依赖预打包与插件
- 04涵盖打包、导入和构建设置
- 05提供开发服务器与 CSS 建议
适用场景
- 01为新项目配置 Vite
- 02排查开发服务器启动缓慢
- 03缩小生产环境打包体积
- 04调试 HMR 或评估 Vite 插件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill vite安装后在 Claude Code 中输入/vite确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdadvanced-env-static.mdadvanced-lib-mode.mdadvanced-profiling.mdadvanced-ssr-externalize.mdbuild-css-code-split.mdbuild-minification.mdbuild-modern-target.mdbuild-output-dir.mdbuild-rolldown.mdbuild-sourcemaps.mdbundle-analyze.mdbundle-asset-inlining.mdbundle-chunk-warning.mdbundle-compression.mdbundle-dynamic-imports.mdbundle-manual-chunks.mdbundle-tree-shaking.mdcss-avoid-preprocessors.mdcss-inline-critical.mdcss-lightning.mdcss-modules.mddeps-entries.mddeps-exclude-esm.mddeps-force-rebundle.mddeps-hold-until-crawl.md详细介绍
Vite 最佳实践
Vite 应用的全面性能优化指南。包含 8 个类别中的 42 条规则,并按影响程度排序,用于指导自动重构和代码生成。
适用场景
在以下情况下参考这些指南:
- 为新项目配置 Vite
- 排查开发服务器启动缓慢的问题
- 优化生产环境打包大小
- 调试 HMR 问题
- 编写或评估 Vite 插件
- 从 Webpack 或其他打包工具迁移
按优先级划分的规则类别
| 优先级 | 类别 | 影响程度 | 前缀 |
|---|---|---|---|
| 1 | 依赖预打包 | 严重 | deps- |
| 2 | 插件性能 | 严重 | plugin- |
| 3 | 打包优化 | 严重 | bundle- |
| 4 | 导入解析 | 高 | import- |
| 5 | 构建配置 | 高 | build- |
| 6 | 开发服务器 | 中高 | dev- |
| 7 | CSS 优化 | 中 | css- |
| 8 | 高级模式 | 中低 | advanced- |
快速参考
1. 依赖预打包(严重)
deps-include-large-cjs- 包含模块众多的大型依赖deps-exclude-esm- 排除小型 ESM 依赖deps-force-rebundle- 依赖变更时使用 --force 标志deps-hold-until-crawl- 配置 holdUntilCrawlEnd 以调整启动行为deps-entries- 配置自定义入口点以进行发现deps-linked-packages- 处理 monorepo 中的链接依赖
2. 插件性能(严重)
plugin-lazy-imports- 在插件代码中使用动态导入plugin-avoid-long-hooks- 避免在启动钩子中执行耗时操作plugin-transform-early-return- 在 transform 钩子中提前返回plugin-audit-community- 审查社区插件的性能plugin-swc-over-babel- 在 React 中使用 SWC 替代 Babel
3. 打包优化(严重)
bundle-manual-chunks- 使用 manualChunks 拆分供应商代码bundle-dynamic-imports- 使用动态导入进行路由级代码拆分bundle-analyze- 分析打包内容bundle-tree-shaking- 启用有效的 tree-shakingbundle-chunk-warning- 处理大型代码块警告bundle-compression- 大型项目中禁用压缩后大小报告bundle-asset-inlining- 配置资源内联阈值
4. 导入解析(高)
import-avoid-barrel- 避免从 barrel 文件导入import-explicit-extensions- 使用明确的文件扩展名import-path-aliases- 配置路径别名以简化导入import-svg-strings- 将 SVG 作为字符串而非组件导入import-glob-patterns- 谨慎使用 glob 导入
5. 构建配置(高)
build-modern-target- 面向现代浏览器build-minification- 使用 esbuild 进行压缩build-sourcemaps- 在生产环境中禁用源映射build-css-code-split- 启用 CSS 代码拆分build-rolldown- 考虑使用 Rolldown 加快构建build-output-dir- 配置输出目录和缓存
6. 开发服务器(中高)
dev-server-warmup- 预热常用文件dev-browser-cache- 在 DevTools 中保持浏览器缓存启用dev-fs-limits- 提高 Linux 上的文件描述符限制dev-wsl-polling- 使用轮询监视 WSL 文件dev-https-proxy- 配置开发环境的 HTTPS 和代理
7. CSS 优化(中)
css-lightning- 使用 Lightning CSS 替代 PostCSScss-avoid-preprocessors- 尽可能优先使用 CSS,而非预处理器css-modules- 使用 CSS Modules 编写组件样式css-inline-critical- 提取关键 CSS,以便首次绘制
8. 高级模式(低中)
advanced-ssr-externalize- 为 SSR 外部化依赖项advanced-env-static- 使用静态环境变量advanced-profiling- 分析构建性能advanced-lib-mode- 为软件包开发配置库模式
使用方法
阅读各个参考文件,了解详细说明和代码示例:
参考文件
| 文件 | 描述 |
|---|---|
| AGENTS.md | 包含所有规则的完整汇编指南 |
| references/_sections.md | 分类定义和排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
评论
支持 Markdown