如何在 CI / 本地加速构建?构建缓存有哪些层?
构建慢主要来自「重复解析/转译」。可叠加多层缓存:
- 文件系统缓存:Webpack5
cache: { type: 'filesystem' }缓存模块图;Vite 用node_modules/.vite缓存预构建依赖 - 依赖预构建:Vite 的
optimizeDeps把 CJS 包转 ESM 并缓存 - CI 缓存:GitHub Actions / GitLab 缓存
node_modules、dist、.vite,避免每次重装重编译 - 并行/分布式:
thread-loader(Webpack)、Terser 并行压缩(parallel: true) - 模块联邦(Module Federation):多应用共享构建产物,避免重复打包
- 增量构建:只重建变化的模块(Vite 天生增量;Webpack 用缓存近似)
经验:CI 里务必要缓存
node_modules和构建缓存目录,否则每次都是全量冷构建。