vue配置請求代理的時候需要避免命名前部分字母相同

qq_2422941992發表於2020-10-08

1、proxy設定代理,其地址匹配是根據正則匹配,可以看到文中開始設定瞭如下三個代理,且順序如下:

  • "/api"
  • "/apipc"
  • "/huangyi"

2、對應請求的三個介面如下:

  • "/api/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg"
  • "/apipc/cgi-bin/musicu.fcg"
  • "/huangyi/music/api/getDiscList"

 

發現三個介面中都包含"/api",所以訪問時正則匹配都會轉到第一個的"/api"代理,這樣就導致後面兩個介面訪問不成功;

3、當將代理改成如下,表示匹配以如下開頭的介面:

  • "^/api"
  • "^/apipc"
  • "^/huangyi"

結果: 發現三個介面中有兩個都以"/api開頭",所以當訪問"/apipc/cgi-bin/musicu.fcg"這個介面時正則匹配都會轉到第一個的"^/api"代理,這樣就導致該介面訪問不成功;

  1. 當將"^/apipc/"代理改成別的名字"^/pc",這樣三個介面都對應匹配到個子介面,結果請求介面都成功;

 

 

參考連結:https://blog.csdn.net/weixin_33869377/article/details/91364441

相關文章