import react from '@vitejs/plugin-react' import { fileURLToPath } from 'node:url' import { defineConfig, loadEnv } from 'vite' import { buildDefines } from '../build-info.mjs' // 开发时把 /api 转发给后端,地址取自环境变量 BACKEND_URL,或 web/.env.local 里的 BACKEND_URL=(见 web/.env.example): // BACKEND_URL=https://mo.oeo.one npm run dev:display export default defineConfig(({ mode }) => { const env = loadEnv(mode, fileURLToPath(new URL('..', import.meta.url)), '') const backend = (process.env.BACKEND_URL ?? env.BACKEND_URL ?? 'http://localhost:29181').replace(/\/+$/, '') return { base: '/', define: buildDefines(mode === 'development'), plugins: [react()], resolve: { alias: { '@shared': fileURLToPath(new URL('../shared', import.meta.url)) } }, server: { port: 5173, strictPort: true, fs: { allow: ['..'] }, proxy: { // 开发时管理端是另一个 Vite 服务(5175);和线上一样用同源的 /admin/ 访问它 '/admin': { target: 'http://localhost:5175', changeOrigin: true, ws: true }, '/api': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' }, '/healthz': { target: backend, changeOrigin: true, secure: true, cookieDomainRewrite: '' }, }, }, } })