常用手段:合理分包(manualChunks 拆出稳定 vendor 与大型异步路由)、产物压缩(默认 esbuild minify)、静态资源策略(assetsInlineLimit 内联小资源、图片转 WebP/AVIF)、组件库按需引入(unplugin-auto-import、unplugin-vue-components)、产物分析(rollup-plugin-visualizer 定位大包)、服务端配 gzip/brotli 与 CDN。

关键是先测量再优化:用 visualizer 看 chunk 构成,优先处理最大依赖(moment 换 dayjs、lodash 按需)。manualChunks 要避免拆出循环引用的 chunk;现代浏览器可把 build.target 调高减少降级代码。易错点:线上开 sourcemap 会泄露源码,可用 hidden-sourcemap 上传监控平台;VITE_ 环境变量在构建时内联,改环境要重新构建。追问:HTTP/2 下分包粒度取舍、modulepreload 与预取策略。

export default { build: { rollupOptions: { output: { manualChunks: { vendor: ['react', 'react-dom'] } } } } }