[Webpack]webpack-dev-server设置多个路径代理时,proxy顺序有要求

问题背景

前端需要调用多个不同的后台时需要使用devServer.proxy做代理

问题现象

如下图设置ETL相关接口路径代理之后
在这里插入图片描述
调用ETL后台接口时产生404报错
在这里插入图片描述

问题原因

devServer.proxy在解析代理路径并替换的时候是按顺序解析的,我配置的三个代理中,/csm/etl/csm存在包含关系,所以在执行了第二个配置,把/csm替换为/之后,包含/csm/etl路径的接口全都被修改了;接下来再按第三个配置去匹配/csm/etl的路径就找不到了,所以接口会提示404报错

解决方法

修改配置的顺序,将复杂的路径匹配放到前面进行匹配,把被包含的元数据配置放到最后,如下图:
在这里插入图片描述
避免了代理干扰,代理成功,接口就掉通了

引申思考

如果多个配置之间互相存在多层的包含关系,则应该按照复杂程度大->小依次写入配置,如下图:
在这里插入图片描述

注意

修改webpack-dev-server配置后需要重启前端项目才能生效

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值