vite 缓存优化核心是提升复用性与稳定性:1. 显式配置 optimizedeps 预构建高频依赖并排除无效包;2. 固定 cachedir 路径增强命中率;3. 生产构建启用 rollup cache;4. 开发时忽略无关文件监听。

直接配置 Vite 的缓存策略,核心是让构建过程复用已处理的依赖和模块,避免重复解析、转换与打包。重点不在“清缓存”,而在于让缓存稳定、可复用、不冲突。
显式预构建高频依赖(optimizeDeps)
这是提升二次构建速度最有效的一环。Vite 默认会自动扫描 import 语句来决定哪些依赖需要预构建,但扫描本身有开销,且容易漏掉动态导入或 Monorepo 中的本地包。
- 在
vite.config.ts中明确列出常用依赖,例如:['vue', 'vue-router', 'pinia', 'lodash-es'] - 排除不需要预构建的包(如纯类型定义、CJS 兼容层),减少干扰
- 开发中遇到依赖更新后行为异常,可加
force: true强制重预构建,但日常应关闭
指定独立缓存目录(cacheDir)
Vite 默认把缓存放在 node_modules/.vite,但该路径易受 npm install 或 CI 清理影响。固定缓存位置能显著提升缓存命中率,尤其在多分支切换或容器化构建中。
- 推荐设为项目内路径,例如:
cacheDir: './node_modules/.vite-cache' - 若使用 SSD 或内存盘(如
/dev/shm),可进一步提速,需确保路径有读写权限 - 该目录包含预构建产物、依赖图谱、模块解析结果等,删除即重头开始
启用 Rollup 构建缓存(build.rollupOptions.cache)
生产构建阶段,Rollup 默认不启用内部缓存。开启后,未改动的模块在增量构建时跳过重新打包,对大型项目效果明显。
- 在
build.rollupOptions中添加:cache: true - 配合
treeshake: true和合理的manualChunks策略,缓存更稳定 - 注意:此缓存仅作用于生产构建(
vite build),不影响开发服务器启动
避免监听无关文件(server.watch.ignored)
开发服务器热更新时,Vite 会监听文件变化并触发重建。若监听了大量临时文件或配置目录,会拖慢响应速度,间接影响二次构建体验。
- 在
server.watch.ignored中加入:['**/.env/**', '**/node_modules/**', '**/dist/**'] - 尤其要排除 IDE 生成的文件夹(如
.vscode、.idea) - 此项不改变构建逻辑,但能让开发环境更轻量、更专注











