千家信息网

使用vue项目配置多个代理要注意哪些点

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了使用vue项目配置多个代理要注意哪些点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇使用vue项目配置多个代理要注意哪些点文章都会有所收获,下面我们一起
千家信息网最后更新 2026年11月02日使用vue项目配置多个代理要注意哪些点

这篇文章主要介绍了使用vue项目配置多个代理要注意哪些点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇使用vue项目配置多个代理要注意哪些点文章都会有所收获,下面我们一起来看看吧。

在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue.config.js 中配置 devServer 来在本地启动一个服务器,在这个选项中,我们会配置proxy 属性来将指向到本地的请求(例如: /api/action) 代理到后端的开发服务器上(例如: http://xxx.xxx.xxx/api/action)

devServer: {        port: 8081,        proxy: {            "/api/action": {                target: "http://192.168.200.106:81",                changeOrigin: true,                ws: true,                secure: false            }        }    },```

在这个配置中,要注意以下两点:

接口地址有重叠地址时,将匹配度低的放在后面。

例如:

  1. * 将 / 匹配到 192.191.1.1;

  2. * 将 /api 匹配到 192.191.1.2

  3. * 将 /api/action 匹配到 192.191.1.3

如果我们像下面一样书写:

proxy: {            "/": {                target: "http://192.191.1.1",                changeOrigin: true,                ws: true,                secure: false            },    "/api": {                target: "http://192.191.1.2",                changeOrigin: true,                ws: true,                secure: false            },    "/api/action": {                target: "http://192.191.1.3",                changeOrigin: true,                ws: true,                secure: false            }        }

那么所有到/, /api和 /api/action 的请求将全部被代理到 192.191.1.1 上面去

原因是这里的匹配实际上是一个正则匹配的过程,当我们请求 /api 时,首先读取到了配置项中的第一个,拿配置中的 / 去匹配请求中的 /api , 发现请求的/api 中包含配置项/, 匹配成功,直接将请求代理到了 192.191.1.1 上面去, 对/api/action的匹配也同理。

也就是说,它的匹配规则是: 拿配置项中的地址去匹配请求中的地址,如果请求中的地址中包含配置中的地址,则匹配成功,否则,拿下一个配置项继续匹配。

所以,配置中的地址与请求地址中匹配的字符越少,匹配度越低。 上例中配置中的地址(/)与请求地址(/api)只有一个字符是匹配的,所以匹配度低。

所以我们正确的写法应该是:

proxy: {            "/api/action": {                target: "http://192.191.1.3",                changeOrigin: true,                ws: true,                secure: false            },    "/api": {                target: "http://192.191.1.2",                changeOrigin: true,                ws: true,                secure: false            },    "/": {                target: "http://192.191.1.1",                changeOrigin: true,                ws: true,                secure: false            }        }

这样到三个地址的请求就都可以正确代理到相应的地址去了

多个地址代理同一个target 时,可进行合并

在实际应用中,由于后端采用微服务模式开发,在开发阶段,我们可能会将不同的服务代理到不同的地址上,当服务很多时,我们代理的数量也就很多:

proxy: {              "/api/action": {                target: "http://192.191.1.3",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action2": {                target: "http://192.191.1.4",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action3": {                target: "http://192.191.1.3",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action4": {                target: "http://192.191.1.4",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action5": {                target: "http://192.191.1.5",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action6": {                target: "http://192.191.1.6",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action7": {                target: "http://192.191.1.5",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action8": {                target: "http://192.191.1.6",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action9": {                target: "http://192.191.1.7",                changeOrigin: true,                ws: true,                secure: false            },                         "/api": {                target: "http://192.191.1.2",                changeOrigin: true,                ws: true,                secure: false            },                         "/": {                target: "http://192.191.1.1",                changeOrigin: true,                ws: true,                secure: false            },                      }

当配置的代理数量超过十个时,开发环境编译打包时会报以下错误:

为了解决报错,也同时减少代码体积,我们可以对具有同一个target的配置项进行合并,由上文我们可知,这里其实是一个正则匹配的过程,那我们就可以利用正则语法将他们进行合并:

proxy: {              "/api/action|/api/action3": {                target: "http://192.191.1.3",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action2|/api/action4"": {                target: "http://192.191.1.4",                changeOrigin: true,                ws: true,                secure: false            },                           "/api/action5|/api/action7": {                target: "http://192.191.1.5",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action6|/api/action8": {                target: "http://192.191.1.6",                changeOrigin: true,                ws: true,                secure: false            },              "/api/action9": {                target: "http://192.191.1.7",                changeOrigin: true,                ws: true,                secure: false            },                         "/api": {                target: "http://192.191.1.2",                changeOrigin: true,                ws: true,                secure: false            },                         "/": {                target: "http://192.191.1.1",                changeOrigin: true,                ws: true,                secure: false            },                      }

关于"使用vue项目配置多个代理要注意哪些点"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"使用vue项目配置多个代理要注意哪些点"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

配置 地址 代理 多个 项目 开发 服务 正则 知识 过程 不同 成功 内容 字符 实际 数量 服务器 篇文章 中包 三个 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 互联网科技海报 湖南永感互联网科技有限公司 中国互联网科技工作委员会毛军 互联网科技巨头监管 互联网科技公司税收优惠 互联网未来科技 致聘互联网科技 苏州大垚互联网科技 卓越科技互联网 招聘 汉立互联网科技有限公司联系电话 剑昆互联网络科技有限公司临桂 互联网科技革命什么开始 华夏互联网科技业 和信科技工业互联网 乌鲁木齐新华智原互联网科技学校 内蒙古九一互联网科技 沐思想互联网科技有限公司 伍佰万互联网科技怎么赚钱 广州有谷有贝互联网科技有限公司 广州百单互联网科技有限公司 河南真二互联网科技有限公司 互联网最新的科技有限公司 易互联网科技有限公司 温州喔噻互联网科技有限公司 苏州铭阳互联网科技有限公司 卓翼科技产业互联网合作 广东工业互联网大赛深圳学泰科技 互联网科技融合创新 互联网金融金融科技
0