Appearance
前端复用
使用acuity-cloud 或 acuity-boot做为后端时,由于acuity-cloud所有的请求都经过网关转发,所以相对于acuity-boot,acuity-cloud项目的请求地址都会多一段前缀,如:/api/gateway
、 /api/base
、/api/system
, 但acuity-cloud和acuity-boot的前端都只有一个(acuity-web-pro),为了代码复用,需要通过代理的方式对请求地址做处理。
VITE_PROXY参数解释:
cloud版参数讲解
propertiesVITE_PROXY=[["/api","http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]
VITE_PROXY=[["/api","http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]
VITE_PROXY是一个数组,有3个参数,依次为:
- ["/api","http://localhost:18760"]
- ["/basic-api","http://localhost:3000"]
- ["/upload","http://localhost:3300/upload"]
意思为:
将请求地址中,以/api为前缀的地址,直接代理到http://localhost:18760
将请求地址中,以/basic-api为前缀的地址,直接代理到http://localhost:3000
将请求地址中,以/upload为前缀的地址,直接代理到http://localhost:3300/upload
其中仅/api为前缀的请求地址是 acuity 后端项目提供的真实有效的接口; 其余2个接口前缀是vben官方提供的mock接口,仅用于演示vben(views/demo文件夹下)官方提供的静态页面效果。
boot版参数讲解
propertiesVITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
VITE_PROXY是一个数组,有4个参数,依次为:
- [["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:18760"]
- [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:18760"]
- ["/basic-api","http://localhost:3000"]
- ["/upload","http://localhost:3300/upload"]
意思为:
- 将请求地址中,以/api/gateway为前缀的地址,将 /api/gateway 为前缀替换为/gateway,然后代理到http://localhost:18760
- 将请求地址中,以/api为前缀的地址,将 /api/[A-Za-z0-9]+ 为前缀替换为'',然后代理到http://localhost:18760
- 将请求地址中,以/basic-api为前缀的地址,直接代理到http://localhost:3000
- 将请求地址中,以/upload为前缀的地址,直接代理到http://localhost:3300/upload
其中仅/api为前缀的请求地址是 acuity 后端项目提供的真实有效的接口; 其余2个接口前缀是vben官方提供的mock接口,仅用于演示vben(views/demo文件夹下)官方提供的静态页面效果。
前端复用修改的地方
- env
txt
# 多租户类型 DATASOURCE_COLUMN
VITE_GLOB_MULTI_TENANT_TYPE=NONE
# 多租户类型 DATASOURCE_COLUMN
VITE_GLOB_MULTI_TENANT_TYPE=NONE
- env.dev
txt
# 本地开发代理,可以解决跨域及多地址代理 api代理到后台网关, basic-api代理到mock
# 可以有多个
# 本地启动 acuity-cloud
# VITE_PROXY=[["/api","http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
# VITE_PROXY=[["/api","http://ubuntu.wsl:18760"],["/basic-api","http://localhost:3000"],["/upload","http://ubuntu.wsl:18760/upload"]]
# 远程启动 acuity-cloud
# VITE_PROXY=[["/api","http://ubuntu.wsl:18760"]],["/basic-api","http://localhost:3000"],["/upload","http://ubuntu.wsl:18760/upload"]]
# 本地启动 acuity-boot
VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://ubuntu.wsl:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://ubuntu.wsl:18760"],["/basic-api","http://ubuntu.wsl:3000"],["/upload","http://ubuntu.wsl:3300/upload"]]
# VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http:/localhost:3300/upload"]]
# 本地开发代理,可以解决跨域及多地址代理 api代理到后台网关, basic-api代理到mock
# 可以有多个
# 本地启动 acuity-cloud
# VITE_PROXY=[["/api","http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http://localhost:3300/upload"]]
# VITE_PROXY=[["/api","http://ubuntu.wsl:18760"],["/basic-api","http://localhost:3000"],["/upload","http://ubuntu.wsl:18760/upload"]]
# 远程启动 acuity-cloud
# VITE_PROXY=[["/api","http://ubuntu.wsl:18760"]],["/basic-api","http://localhost:3000"],["/upload","http://ubuntu.wsl:18760/upload"]]
# 本地启动 acuity-boot
VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://ubuntu.wsl:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://ubuntu.wsl:18760"],["/basic-api","http://ubuntu.wsl:3000"],["/upload","http://ubuntu.wsl:3300/upload"]]
# VITE_PROXY=[[["/api/gateway", "/api/gateway", "/gateway"],"http://localhost:18760"], [["/api", "/api/[A-Za-z0-9]+", ""],"http://localhost:18760"],["/basic-api","http://localhost:3000"],["/upload","http:/localhost:3300/upload"]]