import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; // https://vitejs.dev/config/ export default defineConfig(({ mode }) => { // 根据环境变量判断是否需要代理 // Mode 0: 不需要代理(使用 Mock 数据) // Mode 1: 需要代理到本地后端 // Mode 2: 生产构建,不需要代理 const runMode = process.env.VITE_RUN_MODE || 'mode-1'; const needProxy = runMode === 'mode-1'; const backendUrl = process.env.VITE_BACKEND_URL || 'http://localhost:8080'; console.log(`\n🎯 Vite Mode: ${mode.toUpperCase()}`); console.log(`🎯 Run Mode: ${runMode}`); console.log(`🔗 Backend Proxy: ${needProxy ? 'Enabled' : 'Disabled'}`); if (needProxy) { console.log(`📡 Backend URL: ${backendUrl}`); } console.log(''); return { plugins: [react()], resolve: { alias: { "@": "/src", }, }, server: { host: true, port: 5173, // Mode 1 启用代理 proxy: needProxy ? { "/api": { target: backendUrl, changeOrigin: true, secure: false, }, } : undefined, }, }; });