import { loadEnv } from 'vite'; import { defineConfig } from '@vben/vite-config'; // @ts-ignore export default defineConfig(async ({ mode }) => { const env = loadEnv(mode, process.cwd(), 'VITE_'); const baseUrl = env.VITE_BASE_URL || 'http://localhost:48080'; const apiUrl = env.VITE_GLOB_API_URL || '/admin-api'; // 如果 apiUrl 已经是完整 URL(如生产环境),不需要 proxy // 开发环境 apiUrl 为相对路径(如 /admin-api),通过 proxy 转发 const isFullUrl = /^https?:\/\//.test(apiUrl); return { application: {}, vite: { server: { allowedHosts: true, proxy: isFullUrl ? {} : { [apiUrl]: { changeOrigin: true, rewrite: (path) => path.replace(new RegExp(`^${apiUrl}`), ''), // 代理目标地址,从环境变量 VITE_BASE_URL + VITE_GLOB_API_URL 拼接 target: `${baseUrl}${apiUrl}`, ws: true, }, }, }, }, }; });