import { defineConfig, loadEnv } from 'vite' import react from '@vitejs/plugin-react' // 单一配置文件 + 多环境 .env: // - .env.development / .env.production / .env.staging 中配置变量 // - 通过 loadEnv 读取并应用到开发服务器与代理 export default defineConfig(({ mode }) => { const env = loadEnv(mode, '.', '') const port = Number(env.VITE_PORT || 5173) const open = String(env.VITE_OPEN ?? 'true').toLowerCase() === 'true' || env.VITE_OPEN === '1' const proxyTarget = env.VITE_ADMIN_PROXY_PATH || 'http://127.0.0.1:8080' return { plugins: [ react({ babel: { plugins: [ ['@babel/plugin-proposal-decorators', { legacy: true }], ['babel-plugin-transform-typescript-metadata'], ['@babel/plugin-proposal-class-properties', { loose: true }], ['@babel/plugin-proposal-private-methods', { loose: true }], ['@babel/plugin-proposal-private-property-in-object', { loose: true }] ] } }) ], server: { port, open, proxy: { '/api': { target: proxyTarget, changeOrigin: true } } } } })