feat(proxy): 添加后端API前缀配置选项
添加 VITE_SERVER_HAS_API_PREFIX 环境变量用于控制代理是否保留/api前缀 根据配置决定是否重写代理路径中的/api前缀
This commit is contained in:
2
env/.env
vendored
2
env/.env
vendored
@@ -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'
|
||||
|
||||
2
src/env.d.ts
vendored
2
src/env.d.ts
vendored
@@ -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'
|
||||
/** 上传图片地址 */
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user