From 892f91be3ebef618667c35e97ba39fb937574bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 20 Oct 2024 19:55:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BC=80=E5=8F=91=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E4=BB=A3=E7=90=86=E6=94=AF=E6=8C=81=E5=A4=9A=E7=9B=AE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/build/config/proxy.ts | 13 ++++++++----- web/settings/proxy-config.example.ts | 24 ++++++++++++++++++++++++ web/settings/proxy-config.ts.example | 18 ------------------ 3 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 web/settings/proxy-config.example.ts delete mode 100644 web/settings/proxy-config.ts.example diff --git a/web/build/config/proxy.ts b/web/build/config/proxy.ts index a1ec81d8..5fb1b775 100644 --- a/web/build/config/proxy.ts +++ b/web/build/config/proxy.ts @@ -1,17 +1,20 @@ import type { ProxyOptions } from 'vite' -import { getProxyConfig } from '../../settings/proxy-config' +import { getProxyConfigs } from '../../settings/proxy-config' export function createViteProxy(isUseProxy = true, proxyType: ProxyType) { if (!isUseProxy) return undefined - const proxyConfig = getProxyConfig(proxyType) - const proxy: Record = { - [proxyConfig.prefix]: { + const proxyConfigs = getProxyConfigs(proxyType) + const proxy: Record = {} + + proxyConfigs.forEach((proxyConfig) => { + proxy[proxyConfig.prefix] = { target: proxyConfig.target, secure: proxyConfig.secure, changeOrigin: true, rewrite: (path: string) => path.replace(new RegExp(`^${proxyConfig.prefix}`), '') } - } + }) + return proxy } diff --git a/web/settings/proxy-config.example.ts b/web/settings/proxy-config.example.ts new file mode 100644 index 00000000..357a72ed --- /dev/null +++ b/web/settings/proxy-config.example.ts @@ -0,0 +1,24 @@ +const proxyConfigMappings: Record = { + dev: [ + { + prefix: '/api', + target: 'http://localhost:8080' + } + ], + test: [ + { + prefix: '/api', + target: 'http://localhost:8080' + } + ], + prod: [ + { + prefix: '/api', + target: 'http://localhost:8080' + } + ] +} + +export function getProxyConfig(envType: ProxyType = 'dev'): ProxyConfig { + return proxyConfigMappings[envType] +} diff --git a/web/settings/proxy-config.ts.example b/web/settings/proxy-config.ts.example deleted file mode 100644 index 0924353b..00000000 --- a/web/settings/proxy-config.ts.example +++ /dev/null @@ -1,18 +0,0 @@ -const proxyConfigMappings: Record = { - dev: { - prefix: '/api', - target: 'http://localhost:8080' - }, - test: { - prefix: '/api', - target: 'http://localhost:8080' - }, - prod: { - prefix: '/api', - target: 'http://localhost:8080' - } -} - -export function getProxyConfig(envType: ProxyType = 'dev'): ProxyConfig { - return proxyConfigMappings[envType] -}