42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
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,
|
|
},
|
|
};
|
|
}); |