iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何使用vue项目配置多个代理
  • 684
分享到

如何使用vue项目配置多个代理

2023-06-20 14:06:30 684人浏览 八月长安
摘要

本篇内容主要讲解“如何使用Vue项目配置多个代理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用vue项目配置多个代理”吧!在Vue项目的开发过程中,为了本地调试方便,我们通常会在 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            },                      }

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

如何使用vue项目配置多个代理

为了解决报错,也同时减少代码体积,我们可以对具有同一个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项目配置多个代理”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 如何使用vue项目配置多个代理

本文链接: https://www.lsjlt.com/news/297504.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用vue项目配置多个代理
    本篇内容主要讲解“如何使用vue项目配置多个代理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用vue项目配置多个代理”吧!在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue...
    99+
    2023-06-20
  • 使用vue项目配置多个代理的注意点
    在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue.config.js 中配置 devServer 来在本地启动一个服务器,在这个选项中,我们会配置proxy 属性来将...
    99+
    2024-04-02
  • 使用vue项目配置多个代理要注意哪些点
    这篇文章主要介绍了使用vue项目配置多个代理要注意哪些点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇使用vue项目配置多个代理要注意哪些点文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • nginx如何配置多个前端项目
    本篇内容主要讲解“nginx如何配置多个前端项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nginx如何配置多个前端项目”吧!最近一台服务器要配置多个前端项目,当然前后端分离就需要nginx...
    99+
    2023-07-05
  • vue怎么配置多个代理
    这篇文章主要介绍“vue怎么配置多个代理”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue怎么配置多个代理”文章能帮助大家解决问题。在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue...
    99+
    2023-07-04
  • vue项目配置代理如何解决跨域问题
    目录Vue项目配置代理1. 这里以axios发请求为例2. 如果发送的请求都以 /abc 开头3. 代理多个接口什么是跨域?配置(vue.config.js)总结Vue项目配置代理 ...
    99+
    2023-01-28
    vue项目配置代理 vue跨域 vue配置代理
  • vue项目怎么实现webpack配置代理
    本文小编为大家详细介绍“vue项目怎么实现webpack配置代理”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue项目怎么实现webpack配置代理”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。webpack...
    99+
    2023-06-29
  • springboot项目配置多个kafka的示例代码
    目录1.spring-kafka2.配置文件相关信息3.kafka配置类4.消费主题消息1.spring-kafka <dependency> <groupI...
    99+
    2023-05-17
    springboot配置多个kafka springboot配置kafka
  • vue-cli项目中怎么配置反向代理
    vue-cli项目中怎么配置反向代理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:proxyTable: {//配置请求代...
    99+
    2024-04-02
  • Nginx怎么部署vue项目和配置代理
    这篇文章主要讲解了“Nginx怎么部署vue项目和配置代理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx怎么部署vue项目和配置代理”吧!1.nginx安装和启动# 安装...
    99+
    2023-06-20
  • 如何配置一个vue3.0项目
    这篇文章主要介绍如何配置一个vue3.0项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.初始化项目1.1全局安装vue-cli创建vue项目,首先要确保全局安装了vue命令行工...
    99+
    2024-04-02
  • Nginx如何实现同一个域名配置多个项目
    这篇文章主要介绍Nginx如何实现同一个域名配置多个项目,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!使用Nginx要在同一个域名下配置多个项目有两种方式:nginx按不同的目录分发给不同的项目启用二级域名,不同的项...
    99+
    2023-06-14
  • vue项目多环境配置得方法
    这篇文章主要介绍“vue项目多环境配置得方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue项目多环境配置得方法”文章能帮助大家解决问题。什么是多环境配置,为什...
    99+
    2024-04-02
  • Vue中插槽和配置代理如何使用
    这篇“Vue中插槽和配置代理如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue中插槽和配置代理如何使用”文章吧。一...
    99+
    2023-07-05
  • Nginx分端口部署两个或多个项目(包含反向代理配置)
    Author:think 一、部署Nginx 若读者没有部署安装Nginx,则可以参考下面这篇文章进行安装。 CentOS 7非编译安装Nginx_think_mzs的博客-CSDN博客 ...
    99+
    2023-09-10
    nginx 运维 服务器
  • vue项目本地开发使用Nginx配置代理后端接口问题
    目录使用Nginx配置代理后端接口关于Nginx代理前后端接口总结使用Nginx配置代理后端接口 nginx的nginx.conf文件配置如下: #user nobody; wor...
    99+
    2022-12-08
    vue项目本地开发 vue使用Nginx配置代理 Nginx后端接口
  • vue项目多环境配置(.env)的实现
    目录什么是多环境配置,为什么要多环境配置?.env 文件配置到哪里.env文件如何配置,配置多少个?.env文件的配置如何配置运行环境如何获取全局配置项的值如何运行环境没接触...
    99+
    2024-04-02
  • 关于react的代理配置(可配置多个代理)
    目录react的代理配置第一种写在package.json中(不推荐)第二种 建立 setupProxy.js,注意必须是这个文件名总结react的代理配置 第一种写在package...
    99+
    2022-12-08
    react代理配置 react配置多个代理 react配置代理
  • vue-cli3配置多项目并按项目分别实现打包
    目录vue-cli3配置多项目并按项目分别打包项目结构vue.config.js相关配置注意最后一步补充:开发环境如何进入不同项目环境总结vue-cli3配置多项目并按项目分别打包 ...
    99+
    2023-01-14
    vue-cli3配置多项目 vue-cli3打包 vue-cli3配置
  • babel7.x和webpack4.x如何配置vue项目
    小编给大家分享一下babel7.x和webpack4.x如何配置vue项目,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1.webpack 4.x 插件 extract-text-webp...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作