【猫问】多 proxy 代理设置

情况是这样,有个项目是2个后台正在做,是内网开发,两位后台的服务地址不一样。

这是我的vite.config.ts的proxy:

proxy:{ "/dev-api":{ target:"http://168.1.1.3:xxxx/", chageOrigin:true, rewrite:path=>path.replace(/^\/dev-api/,"") }, "/api":{ target:"http://168.1.1.193:xxxx/", chageOrigin:true, rewrite:path=>path.replace(/^\/dev-api/,"") } }

最开始想大概是这样(这里/dev-api和/api都是开发环境的),但是axios的config下的baseURL只能用一个target(baseURL设置的是"/dev-api"),意识到这一点后我把代理设置为如下这样并加入gitignore:

proxy:{ " /dev-api":{ target:"http://168.1.1.3:xxxx/", chageOrigin:true, rewrite:path=>path.replace(/^\/dev-api/,"") }, }

只保留需要用到的后台服务配置,另外一个后台服务并不需要我进行对接,所以注释掉了。

我想知道有没有方法能够同时响应2个proxy设置,第一个proxy设置的/api是不会触发的。

二次更新:

@imlinhanchao 这个问题其实昨天就在拷问跳老 ,但是微信上说的不是很清楚,所以贴了这个帖子,跳老给的解决方式感觉很简单:

proxy:{ "dev-api/yyyy":"http://168.1.1.xxx:xxxx/api", chageOrigin:true, rewrite:path=>path.replace(/^\/dev-api/,"") }

不过后台正在调整,所以要等后面在试试了。

笨蛋猫并没有想到加后缀的方式,这种写法可以规避baseurl检测失效,也可以设置一个另外的path代理路径,非常好用!