Vite-面试-依赖预构建
2026年10月16日·Admin·2 次浏览
面试题:什么是依赖预构建?为什么要做?
问题背景
npm 包可能是 CJS、多文件、或 入口不指向浏览器友好文件;浏览器 ESM import 无法像 Node 一样解析。
Vite 做法
启动时扫描源码中的依赖,用 esbuild 打成 优化后的依赖,放入 node_modules/.vite(可缓存),并改写为可 ESM 直连的形式。
收益
- 单文件/少请求,减少浏览器对 node_modules 海量小文件请求。
- 统一 ESM 接口,加快后续 按需编译。
配置入口
optimizeDeps.include/exclude、force 重跑预构建;升级依赖后偶需删缓存。