diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index ace127e..1d8ae59 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -1,20 +1,28 @@ -import { fileURLToPath, URL } from 'node:url' +import { fileURLToPath, URL } from "node:url"; -import { defineConfig } from 'vite' -import vue from '@vitejs/plugin-vue' -import vueJsx from '@vitejs/plugin-vue-jsx' -import vueDevTools from 'vite-plugin-vue-devtools' +import { defineConfig } from "vite"; +import vue from "@vitejs/plugin-vue"; +import vueJsx from "@vitejs/plugin-vue-jsx"; +import vueDevTools from "vite-plugin-vue-devtools"; + +/** 后端母体端口(与根 .env 的 PORT / AGENTS 约定一致) */ +const API_TARGET = process.env.VITE_API_PROXY_TARGET ?? "http://127.0.0.1:18456"; // https://vite.dev/config/ export default defineConfig({ - plugins: [ - vue(), - vueJsx(), - vueDevTools(), - ], + plugins: [vue(), vueJsx(), vueDevTools()], resolve: { alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), + "@": fileURLToPath(new URL("./src", import.meta.url)), }, }, -}) + server: { + proxy: { + // 契约:/api/* 专属接口;SPA 路由不进 /api(公共约定 §2) + "/api": { + target: API_TARGET, + changeOrigin: true, + }, + }, + }, +});