import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import tailwindcss from "@tailwindcss/vite"; import basicSsl from "@vitejs/plugin-basic-ssl"; // https://vite.dev/config/ export default defineConfig({ plugins: [react(), tailwindcss(), basicSsl()], // 🚀 构建优化:将第三方巨头独立分包,利用浏览器缓存 build: { rollupOptions: { output: { manualChunks(id: string) { if (id.includes("node_modules/react-dom") || id.includes("node_modules/react/") || id.includes("node_modules/scheduler")) return "vendor-react"; if (id.includes("node_modules/react-router")) return "vendor-react"; if (id.includes("node_modules/antd") || id.includes("node_modules/@ant-design")) return "vendor-antd"; if (id.includes("node_modules/html5-qrcode")) return "vendor-qrcode"; }, }, }, }, clearScreen: false, server: { host: "0.0.0.0", port: 1420, strictPort: true, // Docker on Windows/WSL 必须用 polling 才能检测到文件变化 watch: { usePolling: true, ignored: ["**/src-tauri/**"], }, proxy: { "/api": { target: "http://backend:8000", // Docker 内部用服务名 changeOrigin: true, }, }, }, });