如何在Vue中配置代理服务器(详解)

这篇具有很好参考价值的文章主要介绍了如何在Vue中配置代理服务器(详解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        大家既然能看到这篇文章,说明大家对跨域已经有了一定的理解,所以这里就不花功夫对跨域进行详细的介绍了

       1. 首先扩展一点,axios在本地发送的请求如果你不把路径写全,它都是会默认加上自己项目所在的端口,就比如说

axios.get('/student')
axios.get('/teacher')

        点击发送按钮后,以上两行代码实际为

http://localhost:8081/student
http://localhost:8081/teacher

        其中localhost:8081为自己项目所在的地址。

        2.代理服务器是如何解决跨域的?

如何在Vue中配置代理服务器(详解)

由此我们可以借助axios发送请求时,会默认发送给本地的特性来解决跨域问题

        3.如何在vue中配置代理服务器,代码十分简单。 

  devServer: {       //开启代理服务器 (方式1)   配置多个代理
    proxy: {
      '/api': {       //'/api'是自行设置的请求前缀
        target: 'http://localhost:5000',
        pathRewrite:{'^/api':''},  //路径重写,(正则)匹配以api开头的路径为空(将请求前缀删除)
        ws: true,//用于支持websocket
        changeOrigin: true //用于控制请求头中的host值
      },
  }

        上述代码中,我配置一个匹配所有前缀为/api的请求,也就是所有以/api为头的请求都会走我上面配置的代理,向http://localhost:5000这个服务器发送请求。但是最前面我写的两个接口为‘/student’和‘/teacher’,他们并不会走代理。

       4. 如何解决呢?

        我们可以利用axios的二次封装,给所有的请求都添加上/api这个前缀(这个前缀是可以随意命名的)

const requests = axios.create({
  //配置对象
  //基础路径,在发送请求时,路径当中会出现api
  baseURL:'/api',
  //代表请求超时的时间
  timeout:5000
});

        此时我们点击按钮发送的请求为

http://localhost:8081/api/student
http://localhost:8081/api/teacher

        通过代理服务器的target属性加工之后我们原先的请求就变为了

http://localhost:5000/api/student
http://localhost:5000/api/teacher

        也就是把/api前的路径换成了目标服务器的地址。因为/api这个前缀是我们自己添加的,所以需要用到pathRewrite 来将/api重写为‘’(空)

http://localhost:5000/student
http://localhost:5000/teacher

        这时,我们就可以正常获取数据了。

注意:如果在开发中,我们拿到的所有请求有共同的前缀,那么我们可以省略给所有接口统一加上/api这一步操作。

        当然还有更加简洁的做法,让所有的请求都走代理,而并不去匹配请求的前缀。

  devServer:{
    proxy:'http://localhost:5000'  //开启代理服务器 (方式2) 5000端口指的是要向5000端口发送请求
  },

        但是这样会有缺陷,如果你请求的资源本地就有,他会直接返回本地的数据,而不会向服务器发送请求,所以建议大家还是用方式1,虽然麻烦,但是可以配置多个代理,也不会出现资源直接从本地返回的情况。文章来源地址https://www.toymoban.com/news/detail-422850.html

到了这里,关于如何在Vue中配置代理服务器(详解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Vue脚手架配置代理服务器的两种方式

    本文主要介绍使用Vue脚手架配置代理服务器的两种方式 注意:Vue脚手架给我们提供了两种配置代理服务器的方式,各有千秋,使用的时候只能二选一,不能同时使用 除了cros和jsonp,还有一种代理方式,这种用的相对来说也很多, 一般代理服务器 这个概念很好理解,相当于生

    2024年02月02日
    浏览(69)
  • vue2 vue3 配置代理 服务器返回404- 500的解决思路

    一、服务器返回500拒绝请求 1,服务器的服务没有起来 2,vue本地的代理地址填写错误,可能代理到别家的服务器了 正确的写法如下:(主要体现在ip地址和端口是否错误,当然也需要检查是否多了字母及符号。) http://112.59.21.18:8080 二、如果返回500,未找到页面404,说明是接口

    2024年02月16日
    浏览(54)
  • Vue中信息订阅与发布和配置代理服务器的使用和原理

    全局事件总线和信息订阅与发布一样都是实现任意组件的通信。常用的是全局事件总线 信息订阅与发布借用第三方库pubsub实现任意组件的通信 安装pubsub 下列代码为MyHeader组件订阅了一份信息,MyFooter负责传递信息给MyHeader 触发点击事件发布信息给MyHeader 假设目前有两个端口的

    2024年02月03日
    浏览(40)
  • 如何在Debian(kali)中配置代理(agent)服务器?

    开始搭建代理服务器 首先我参考如下文章进行搭建代理服务器,步骤每一个命令都执行过报了各种错,找了博客  目前尚未开始,我已经知道我的路很长,很难走呀,加油,go!go!go! 第一个教程: Ubuntu/Debian/CentOS搭建Socks5代理一键脚本_socks5一键搭建脚本-CSDN博客 安装 下载

    2024年02月10日
    浏览(34)
  • Nginx 详细配置(如:vue配置history刷新不404,https配置,配置代理等等,服务器配置)

    1.安装 Nginx:首先,确保您的服务器上已经安装了 Nginx。如果没有安装,可以通过包管理器(如apt、yum等)进行安装。或者在官网安装对应版本管理,官网下载地址:https://nginx.org/en/download.html 不同的版本不同的安装方法,自行百度 2.配置 Nginx:找到 Nginx 的配置文件(通常位

    2024年02月17日
    浏览(50)
  • 如何查看服务器各项指标的配置-具体指令-服务器配置参数详解-大模型训练推荐配置单服务器和服务器之间显卡直通叠加扩容

    要查看服务器的各项组件配置,您可以执行以下步骤: 操作系统信息 : 使用命令 uname -a (Linux/Unix)或 systeminfo (Windows)来查看操作系统的版本和内核信息。 CPU 信息 : 在Linux/Unix系统上,运行 lscpu 命令来查看CPU的详细信息。 在Windows系统上,您可以使用 wmic cpu get caption 命

    2024年02月09日
    浏览(48)
  • 什么是代理IP(代理服务器)如何正确使用代理IP(代理服务器)

    代理IP这个词语在互联网上已经屡见不鲜,但很多人只是见过这个词,却并不了解。今天,我们就来讲一下代理IP(代理服务器)是什么意思,以及代理IP(代理服务器)的正确用法。 一、代理IP是什么意思 代理IP即代理服务器,是网络信息的中转站,这是一种特殊的网络服务

    2023年04月08日
    浏览(43)
  • 配置代理服务器

        俩台服务都准备完成 现在主要用来发起请求的第三方库都是axios   先下载引入axios  出现跨域问题,注意的一点是服务器是拿到数据,但是并没有返回 解决跨域问题 1.cors 这要麻烦后端人员,就是在响应数据时设置一个特殊的响应头,让浏览器能直接拿到 2.jsonp script s

    2024年01月16日
    浏览(38)
  • GIT配置代理服务器

    开启v2ray后,默认端口是10808 对于git的使用,可以配置相应的代理,具体如下: socks代理与http代理不能同时配置,因为config的key相同,会造成覆盖 配置完成后,可以通过 git config --list 查看配置 当不需要代理的时候,可以使用如下命令进行删除:

    2024年02月16日
    浏览(47)
  • nginx反向代理服务器及负载均衡服务配置

    一、正向代理与反向代理 正向代理:是一个位于客户端和原始服务器(oricin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。 正向代理的典型用途是为在防火

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包