如何在 CI / 本地加速构建?构建缓存有哪些层?

构建慢主要来自「重复解析/转译」。可叠加多层缓存:

  1. 文件系统缓存:Webpack5 cache: { type: 'filesystem' } 缓存模块图;Vite 用 node_modules/.vite 缓存预构建依赖
  2. 依赖预构建:Vite 的 optimizeDeps 把 CJS 包转 ESM 并缓存
  3. CI 缓存:GitHub Actions / GitLab 缓存 node_modules、dist、.vite,避免每次重装重编译
  4. 并行/分布式:thread-loader(Webpack)、Terser 并行压缩(parallel: true)
  5. 模块联邦(Module Federation):多应用共享构建产物,避免重复打包
  6. 增量构建:只重建变化的模块(Vite 天生增量;Webpack 用缓存近似)

经验:CI 里务必要缓存 node_modules 和构建缓存目录,否则每次都是全量冷构建。

同分类其他题目