vue避坑—设置代理服务器命名
以上这段设置两个代理,最终’/apis’代理将会设置不成功
访问apis的代理将会报错404
vue的代理是基于 http-proxy-middleware实现的,而http-proxy-middleware对走哪个代理名称的的方法如下:
function matchSingleStringPath(context, uri) {
const pathname = getUrlPathName(uri);
return pathname.indexOf(context) === 0;
}
他用的是indexOf() === 0来判断的!所以如果你的多个代理重叠/ap和/apis这样出现的话,他们是都会返回true的!
但是/api更快判断完,所以/apis就失效了!!!
解决办法:
前缀不要相同,比如api和apis,我们可以将apis换做http或者其他不带有api的命名,即可正常使用