返回顶部
首页 > 资讯 > 前端开发 > node.js >使用vue项目配置多个代理要注意哪些点
  • 611
分享到

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

2024-04-02 19:04:59 611人浏览 薄情痞子
摘要

这篇文章主要介绍了使用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项目配置多个代理要注意哪些点”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“使用vue项目配置多个代理要注意哪些点”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网node.js频道。

--结束END--

本文标题: 使用vue项目配置多个代理要注意哪些点

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

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

猜你喜欢
  • 使用vue项目配置多个代理要注意哪些点
    这篇文章主要介绍了使用vue项目配置多个代理要注意哪些点的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇使用vue项目配置多个代理要注意哪些点文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • 使用vue项目配置多个代理的注意点
    在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue.config.js 中配置 devServer 来在本地启动一个服务器,在这个选项中,我们会配置proxy 属性来将...
    99+
    2024-04-02
  • 如何使用vue项目配置多个代理
    本篇内容主要讲解“如何使用vue项目配置多个代理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用vue项目配置多个代理”吧!在Vue项目的开发过程中,为了本地调试方便,我们通常会在 vue...
    99+
    2023-06-20
  • jpa配置多数据源要注意哪些事项
    在配置JPA多数据源时,需要注意以下几个事项:1. 配置数据源:需要配置多个数据源,每个数据源都有自己的连接信息,如数据库地址、用户...
    99+
    2023-09-21
    jpa
  • 使用pycharm创建新项目要注意哪些事项
    确保你已经安装了最新版本的PyCharm,以确保你可以使用最新的功能和修复程序。在创建项目之前,最好确定你已经安装了所需的Pyth...
    99+
    2024-04-02
  • mongodb主从配置要注意哪些事项
    在配置MongoDB主从复制时,需要注意以下几个事项: 数据同步:主从配置需要确保主节点和从节点之间的数据同步正常。在配置主从复...
    99+
    2024-04-10
    mongodb
  • cacti系统配置要注意哪些事项
    确保安装了最新版本的Cacti软件,以获取最新的功能和安全更新。 配置数据库,建议使用MySQL数据库,并确保数据库配置正确。 配...
    99+
    2024-04-02
  • Linux通配符使用要注意哪些事项
    在使用Linux通配符时,需要注意以下几个事项:1. 区分大小写:Linux通配符是区分大小写的,例如*.txt只会匹配以".txt...
    99+
    2023-09-15
    Linux
  • 使用爬虫代理ip时需要注意哪些事项
    本篇文章为大家展示了使用爬虫代理ip时需要注意哪些事项,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、升级爬虫类战略目标网站的反爬虫战略不仅限制了访问速度,还限制了访问频率、访问次数等,经常升级,...
    99+
    2023-06-15
  • maven安装与配置要注意哪些事项
    1. 首先确保您已经安装了Java Development Kit(JDK),并设置了JAVA_HOME环境变量。2. 下载Mave...
    99+
    2023-09-16
    maven
  • 配置虚拟主机要注意哪些事项
    配置虚拟主机时,您需要注意以下事项:1. 确保您拥有足够的服务器资源来支持虚拟主机,包括处理能力、存储空间和带宽。2. 选择适合您需...
    99+
    2023-08-29
    虚拟主机
  • 使用javaweb要注意哪些事项
    1. 确保正确配置和部署Java开发环境,包括安装JDK、配置环境变量等。2. 选择适合的Java Web框架,如Spring MV...
    99+
    2023-09-21
    javaweb
  • 使用jpa要注意哪些事项
    使用JPA时需要注意以下事项:1. 实体类的注解:使用@Entity注解标记实体类,使用@Id标记实体类中的主键字段,使用@Colu...
    99+
    2023-09-12
    jpa
  • 使用averageifs要注意哪些事项
    使用averageifs函数时,需要注意以下几点事项:1. 函数语法:averageifs函数的语法为averageifs(aver...
    99+
    2023-09-07
    averageifs
  • 使用MongoDB要注意哪些事项
    使用MongoDB时需要注意以下事项: 数据建模:MongoDB是一种文档数据库,数据以文档形式存储,因此需要合理设计文档模式。...
    99+
    2023-10-25
    mongodb
  • prometheus使用要注意哪些事项
    避免在生产环境中直接使用默认配置,建议根据具体需求进行调整和优化。 确保Prometheus服务器拥有足够的资源(CPU、内存、存...
    99+
    2024-03-05
    prometheus
  • postgresql使用要注意哪些事项
    定期备份数据:定期备份是保护数据安全的重要措施,确保在意外情况下能够快速恢复数据。 使用安全的认证机制:确保只有授权用户能够...
    99+
    2024-03-14
    postgresql
  • sqlfront使用要注意哪些事项
    使用SQLFront时,需要注意以下事项: 确保正确输入数据库连接信息:在使用SQLFront时,需要正确输入数据库的连接信息,...
    99+
    2024-05-21
    sqlfront
  • 使用java对screen进行配置时需要注意哪些事项
    这篇文章将为大家详细讲解有关使用java对screen进行配置时需要注意哪些事项,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。java screen的配置详解及注意事项# Set defau...
    99+
    2023-05-31
    java screen ava
  • 配置JRE运行环境要注意哪些事项
    配置JRE(Java Runtime Environment)运行环境时需要注意以下几个事项:1. 版本兼容性:确保选择的JRE版本...
    99+
    2023-09-21
    JRE
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作