Vite提速核心在于跳过全量打包、按需编译、依赖预构建及浏览器原生ESM加载;优化关键包括精准控制预构建(include/exclude)、避免监听干扰、精简插件、善用缓存。

Vite 提升开发服务器启动与编译速度,核心不是“调优参数”,而是尊重并用好它的原生设计逻辑:跳过全量打包、按需编译、依赖预构建 + 浏览器 ESM 直接加载。真正卡顿往往来自配置失当或环境干扰,而非 Vite 本身。
依赖预构建精准控制
预构建是冷启动耗时的主要环节,但默认行为常不够聪明——它可能漏掉高频解析包,或对已兼容 ESM 的包做冗余转换。- 显式声明
include:把项目中实际高频 import、解析慢的包(如echarts、date-fns、@ant-design/icons)加进去,避免首次请求时临时转译 - 合理使用
exclude:像vue-demi、lodash-es、@vueuse/core这类原生 ESM 包,直接排除,跳过无意义处理 - 开启预构建压缩(仅限 dev):在
esbuildOptions中启用minify: true,减小内存占用和传输体积
示例配置:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
optimizeDeps: {
include: ['echarts', 'date-fns', '@ant-design/icons'],
exclude: ['vue-demi', 'lodash-es'],
esbuildOptions: { minify: true }
}避免监听干扰与文件系统瓶颈
Vite 依赖 `chokidar` 监听文件变化,大型项目若监听范围过大或磁盘 I/O 慢,会拖慢热更新响应甚至冷启动。- 排除无关目录:通过
server.watch.ignored忽略node_modules/.cache、logs/、dist/、.git/等非源码路径 - SSD 是硬门槛:机械硬盘下
watch延迟明显,尤其在 Windows 或 Docker 环境中更敏感 - 特殊环境启用轮询:若 WSL 或网络文件系统导致监听失效,设
server.watch.usePolling = true,但仅作兜底,勿长期开启
精简插件与关闭非必要功能
每个插件都会增加模块解析链路和中间处理耗时,尤其在启动阶段叠加执行。- 移除开发期不用的插件:比如
vite-plugin-imagemin、vite-plugin-compression只应在 build 阶段启用,dev 下禁用 - 关闭 source map(dev 阶段):
server.sourcemap = false,大幅降低 TS/JSX 文件编译开销 - 禁用 HMR 错误覆盖层:
server.hmr.overlay = false,减少 DOM 操作与样式注入负担
利用缓存与复用机制
Vite 的 `.vite` 缓存不是摆设,它是提速的关键基础设施。- 不要手动删除
node_modules/.vite:除非确认依赖变更或缓存损坏;CI/CD 中也应保留该目录以复用 - 配置一致的
cacheDir:多人协作或 CI 中,显式指定cacheDir: './node_modules/.vite',避免路径差异导致重复构建 - 使用
DEBUG=vite:*查看预构建是否命中缓存(日志中出现Using cache即为有效复用)
不复杂但容易忽略。

















