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] -}