Files
track/frontend/vite.config.ts

42 lines
1.3 KiB
TypeScript

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,
},
},
},
});