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

司马新杰 阅读 53

我最近用 Vite + React 开发项目,每次重新启动 dev server 的时候,控制台都会花好几秒重新预构建一堆依赖,比如 react、lodash 这些。明明没改过 node_modules,为啥不能缓存下来复用呢?

我试过删掉 node_modules/.vite 目录再重装,但下次启动还是照常预构建。是不是哪里配置错了?

import { debounce } from 'lodash';
import { useState } from 'react';

export default function App() {
  const [count, setCount] = useState(0);
  const handleClick = debounce(() => setCount(c => c + 1), 300);
  
  return (
    <button onClick={handleClick}>
      Clicked {count} times
    </button>
  );
}
我来解答 赞 8 收藏
二维码
手机扫码查看
1 条解答
宇文雨帆
问题大概率出在 lodash 上。这货是 CommonJS 包,Vite 预构建后每次启动都要检查有没有变化。

懒人方案:把 lodash 换成 lodash-es,或者改成 import debounce from 'lodash/debounce' 精确导入,Vite 就不会抽风重构建了。

如果还想快,在 vite.config.js 里加:

export default defineConfig({
optimizeDeps: {
include: ['react', 'react-dom']
}
})


只预构建真正需要的,其他靠 Vite 懒加载。
点赞
2026-03-18 02:04