Vite 依赖预构建为什么总在启动时重新执行?

程序猿智越 阅读 9

我用 Vite 搭了个 React 项目,每次 npm run dev 启动时都会看到 “Pre-bundling dependencies” 的提示,明明之前已经跑过一次了,为什么还会重新预构建?是不是我哪里配置错了?

我试过删掉 node_modules/.vite 目录再重装依赖,但下次启动还是照样预构建。有些依赖比如 lodashaxios 明明没变,却每次都花好几秒处理,开发体验有点卡。

我来解答 赞 4 收藏
二维码
手机扫码查看
1 条解答
♫淑芳
♫淑芳 Lv1
问题很可能是你的项目里有通过 npm link 或 monorepo 方式引入的本地依赖,这种情况下 Vite 无法正确生成稳定的缓存标识,所以每次都重新预构建。

解决办法是在 vite.config.js 里用 optimizeDeps.entries 明确指定入口文件,或者用 include 把需要预构建的依赖固定下来:

// vite.config.js
export default defineConfig({
optimizeDeps: {
include: ['lodash', 'axios'], entries: ['./src/main.jsx'] // 改成你的入口文件
}
})


另外检查一下 node_modules 下面有没有通过 symlink 引入的依赖,有的话用 yarn link 或 npm link 的那个包每次都会被当成新的。
点赞
2026-03-13 13:43