import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' export default defineConfig({ plugins: [react()], server: { port: 5173, proxy: { '/api': 'http://localhost:8000', }, }, build: { rollupOptions: { output: { /** * 手动分包。 * * 此前所有代码打进单个 index.js。配合 App.tsx 的路由级 lazy, * 再把变动频率最低的依赖单独成 chunk: * * vendor —— react / react-dom / react-router。这些只在升级依赖 * 时变化,与业务代码的发布节奏解耦,可长期复用浏览器 * 缓存(哈希不变即命中)。 * * 注:react-router 不单独拆。它与 react 之间存在引用关系, * 拆开容易在 chunk 间产生请求瀑布,收益小于合并。 */ manualChunks: { vendor: ['react', 'react-dom', 'react-router-dom'], }, }, }, // 单 chunk 超过 500kB 时提示,便于及早发现分包退化 chunkSizeWarningLimit: 500, }, })