mirror of
https://github.com/CJackHwang/ds2api.git
synced 2026-05-02 07:25:26 +08:00
49 lines
1.6 KiB
JavaScript
49 lines
1.6 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import react from '@vitejs/plugin-react'
|
|
import { dirname, resolve } from 'node:path'
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
const webuiDir = dirname(fileURLToPath(import.meta.url))
|
|
const repoRoot = resolve(webuiDir, '..')
|
|
|
|
export default defineConfig(({ mode }) => ({
|
|
plugins: [
|
|
react(),
|
|
],
|
|
server: {
|
|
port: 5173,
|
|
fs: {
|
|
allow: [repoRoot],
|
|
},
|
|
proxy: {
|
|
// 代理 /admin 下的 API 请求到后端
|
|
'/admin': {
|
|
target: 'http://localhost:5001',
|
|
changeOrigin: true,
|
|
// 只代理 API 请求,页面请求返回 false 让 Vite 处理
|
|
bypass(req, res, proxyOptions) {
|
|
const url = req.url
|
|
// 精确的 /admin 或 /admin/ 是页面请求,不代理
|
|
if (url === '/admin' || url === '/admin/' || url === '/admin?') {
|
|
console.log('[Vite Proxy] Bypass (page):', url)
|
|
return '/index.html'
|
|
}
|
|
// 其他 /admin/* 路径都是 API 请求,代理到后端
|
|
console.log('[Vite Proxy] Proxy to backend:', url)
|
|
// 返回 undefined 或 null 表示不跳过代理
|
|
},
|
|
},
|
|
'/v1': {
|
|
target: 'http://localhost:5001',
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
build: {
|
|
outDir: '../static/admin',
|
|
emptyOutDir: true,
|
|
},
|
|
// Use / for dev, /admin/ for production build
|
|
base: mode === 'production' ? '/admin/' : '/',
|
|
}))
|