我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue配置文件中的proxy配置方式详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue配置文件中的proxy配置方式详解

1. 这里以axios发请求为例

axios.get("/abc/def");
axios.get("/abc/ghi");
axios.post("/abc/jkm");

axios发送的请求是本地的服务器地址拼接上发送的请求,如 http://localhost:8080/abc/def

2. 如果发送的请求都以 /abc 开头,那么我们就可以在proxy中进行服务器代理配置。

devServer: {
    proxy: {
      "/abc": {
        target: "http://XX.XX.XX.XX:8081",
        changeOrigin: true,
        ws: true,
        secure: false,
      },
    },
},
  • "/abc":{} : 引号中代表监测的是以 /abc 开头的接口
  • target : 代表监测到以 /abc 开头的接口后,把axios请求中前面的本地服务器地址改为后端接口地址,实际发送给后端的请求就是下方后一个请求
            http://localhost:8080/abc/def --> http://XX.XX.XX.XX:8081/abc/def
  • changeOrigin : 是否跨域
  • ws : 如果要代理 websockets,配置这个参数
  • secure : 如果是https接口,需要配置这个参数(如果是http接口,也可以不写这个参数)
  • pathRewrite :替换请求中匹配的内容。在3的方法2中详细解释用法,上方未使用此参数

3. 代理多个接口

axios.get("/zzz/one");
axios.get("/xxx/two");

http://localhost:8080/zzz/one

http://localhost:8080/xxx/two

方法1:监测多个接口,可以在proxy中写多个配置:(适用于target不同的代理,相同也可以用这个方法,就是会麻烦一点,对于相同的target方法2会比较方便)

devServer: {
    proxy: {
        "/zzz": {
          target: "http://XX.XX.XX.XX:8082",
          changeOrigin: true,
          ws: true,
        },
        "/xxx": {
          target: "http://XX.XX.XX.XX:8083",
          changeOrigin: true,
          ws: true,
        },
    },
},

那么实际发送给后端的请求就是:

http://XX.XX.XX.XX:8082/zzz/one

http://XX.XX.XX.XX:8083/xxx/two

方法2:使用axios进行前设置(适用于target相同的代理)

// 一般在全局设置里引入,例如main.js,方便第二行的配置被每一个axios请求识别
import axios from "axios";
// 只要发送axios请求,就在请求前加入/api的开头,例如 /zzz/one -> /api/zzz/one
axios.defaults.baseURL = "/api";    

进行了上方的配置后,在本地发送的请求会变为

http://localhost:8080/api/zzz/one

http://localhost:8080/api/xxx/two

而后可以设置只监听 "/api" 的代理,不过要设置pathRewrite参数:

devServer: {
    proxy: {
        "/api": {
            target: "http://XX.XX.XX.XX:8084",
            changeOrigin: true,
            ws: true,
            pathRewrite: {
              "^/api": "",
            },
        },
    },
},

pathRewrite :检查代理的请求中是否有 /api ,有的话把 /api 替换为冒号后面的内容,案例为替换成空字符串,也就是删去 /api 。(^是正则表达式的内容,意思是限定开头)

本地请求 http://localhost:8080/api/zzz/one -> 

代理后请求 http://XX.XX.XX.XX:8084/api/zzz/one ->

设置pathRewrite后的请求 http://XX.XX.XX.XX:8084/zzz/one

所以代理完成后真正发送给后端的请求就是 http://XX.XX.XX.XX:8084/zzz/one 啦。

(1.统一给请求添加/api方便监测代理 2.统一删去/api发送正确的请求)

注意:小伙伴们可能会看到浏览器中右键检查打开的控制台中,网络->标头->常规,中的请求网址显示的还是 http://XX.XX.XX.XX:8084/api/zzz/one 。这是因为浏览器的同源策略,经过代理设置的请求发送给后端已经变成 http://XX.XX.XX.XX:8084/zzz/one 没有/api 的形式了,不用被浏览器显示的请求网址干扰。如果实在不想看到浏览器的请求网址中有api,可以采用方法1。

总结

到此这篇关于Vue配置文件中的proxy配置方式的文章就介绍到这了,更多相关Vue配置文件proxy配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue配置文件中的proxy配置方式详解

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

下载Word文档

猜你喜欢

Vue配置文件vue.config.js配置前端代理方式

这篇文章主要介绍了Vue配置文件vue.config.js配置前端代理方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-19

vue多环境配置之.env配置文件详解

.env文件是vue运行项目时的环境配置文件,这篇文章主要介绍了vue多环境配置之.env配置文件,需要的朋友可以参考下
2023-03-19

SpringBootMybatis配置文件形式详解

这篇文章主要介绍了SpringBootMybatis配置文件形式详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-03-23

Redis2.8配置文件中文详解

add by zhj : 没找到本文的原文。另外,redis配置文件中文翻译 也翻译的不错,可以与本文对照看。两篇文章都是以Redis2.8来介绍的 在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用red
2022-06-04

vue 3.0 vue.config.js文件常用配置方式

这篇文章主要介绍了vue 3.0 vue.config.js文件常用配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-19

package.json文件配置详解

package.json 是npm init命令初始化后,在项目的根目录下自动生成的配置文件,它定义了这个项目的配置信息以及所需要的各种模块,npm install根据这个命令,自动下载所需的模块。package.json就是一个json文
2022-06-04

postgresql.conf配置文件详解

postgresql.conf文件是PostgreSQL数据库系统的主配置文件,它包含了数据库服务器的各种配置选项。下面是postgresql.conf文件的一些常见配置选项的详解:# CONNECTIONS AND AUTHENTICAT
2023-09-13

redis配置文件详解

位置find / -name redis.confunits单位# Redis configuration file example.## Note that in order to read the configuration file, Redis mus
redis配置文件详解
2022-01-15

Vue中的axios和proxy代理怎么配置

今天小编给大家分享一下Vue中的axios和proxy代理怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.引入ax
2023-07-05

解析Pytest3种配置文件方式

本文介绍了解析Pytest配置文件的3种方式:命令行参数:方便快捷,但配置选项有限。.ini文件:提供更广泛的配置选项,可重用和共享。Python模块:完全可定制,可实现复杂的配置需求。选择合适的方式取决于测试项目的需求和复杂性:简单项目:命令行参数需要高级配置:.ini文件或Python模块高度可定制和可重用:Python模块
解析Pytest3种配置文件方式
2024-04-02

编程热搜

目录