diff --git a/env/.env b/env/.env index 35db743..1b60540 100644 --- a/env/.env +++ b/env/.env @@ -18,6 +18,8 @@ VITE_UPLOAD_BASEURL = 'https://ukw0y1.laf.run/upload' # h5是否需要配置代理 VITE_APP_PROXY_ENABLE = true VITE_APP_PROXY_PREFIX = '/api' +# 后端是否有统一前缀 /api,决定本地代码的时候是否需要去掉 /api 前缀。这里面默认是没有的,即前端会把/api 转发去掉 +VITE_SERVER_HAS_API_PREFIX = false # 第二个请求地址 (目前alova中可以使用) VITE_API_SECONDARY_URL = 'https://ukw0y1.laf.run' diff --git a/src/env.d.ts b/src/env.d.ts index 795eef4..c213701 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -19,6 +19,8 @@ interface ImportMetaEnv { readonly VITE_APP_PROXY_ENABLE: 'true' | 'false' /** H5是否需要代理,需要的话有个前缀 */ readonly VITE_APP_PROXY_PREFIX: string // 一般是/api + /** 后端是否有统一前缀 /api */ + readonly VITE_SERVER_HAS_API_PREFIX: 'true' | 'false' /** 认证模式,'single' | 'double' ==> 单token | 双token */ readonly VITE_AUTH_MODE: 'single' | 'double' /** 上传图片地址 */ diff --git a/vite.config.ts b/vite.config.ts index 22b50f7..0edbb1f 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -52,6 +52,7 @@ export default ({ command, mode }) => { VITE_DELETE_CONSOLE, VITE_APP_PUBLIC_BASE, VITE_APP_PROXY_ENABLE, + VITE_SERVER_HAS_API_PREFIX, VITE_APP_PROXY_PREFIX, } = env console.log('环境变量 env -> ', env) @@ -166,7 +167,10 @@ export default ({ command, mode }) => { [VITE_APP_PROXY_PREFIX]: { target: VITE_SERVER_BASEURL, changeOrigin: true, - rewrite: path => path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''), + // 后端有/api前缀则不做处理,没有则需要去掉 + rewrite: path => JSON.parse(VITE_SERVER_HAS_API_PREFIX) + ? path + : path.replace(new RegExp(`^${VITE_APP_PROXY_PREFIX}`), ''), }, } : undefined,