返回顶部
首页 > 资讯 > 前端开发 > 其他 >vue-cli 代理请求原理
  • 400
分享到

vue-cli 代理请求原理

2023-05-25 09:05:02 400人浏览 薄情痞子
摘要

Vue 是一个流行的 javascript 框架,它可以用来创建交互式的 WEB 应用程序。在开发过程中,我们通常会用到 vue-cli 来初始化一个基本的 Vue 项目。 vue-cli 是 Vue 官方提供的一个脚手架工具,它提供了许多

Vue 是一个流行的 javascript 框架,它可以用来创建交互式的 WEB 应用程序。在开发过程中,我们通常会用到 vue-cli 来初始化一个基本的 Vue 项目。 vue-cli 是 Vue 官方提供的一个脚手架工具,它提供了许多方便的功能,例如项目初始化、打包、发布等。

但是,在开发过程中我们可能会遇到一个问题:跨域请求。由于浏览器的同源策略,当我们在前端 ajax 发送请求时,只能请求同一域名下的服务器资源,而不能请求其他域名的服务器资源。这个时候,我们可以通过 vue-cli 中的代理请求来解决这个问题。

那么,vue-cli 中的代理请求是如何实现的呢?

直接请求和代理请求的区别

在了解代理请求的原理之前,我们需要了解一下直接请求和代理请求之间的区别。当我们在开发过程中直接通过 Ajax 请求访问后台服务时,请求会直接从前端发往后端,如下图所示:

直接请求示意图

这种方式会涉及到跨域问题。如果后端接口没有设置跨域响应头,那么浏览器就会禁止前端发起 AJAX 请求,从而导致请求失败。

而在 vue-cli 中,我们会通过代理请求来解决这个问题。代理请求的基本思路是,将请求发送到本地服务器,然后由本地服务器将请求转发至后端服务器。

代理请求示意图

vue.config.js 中的代理配置

在 vue-cli 项目中,我们可以通过配置 vue.config.js 文件来设置代理请求。在该文件中,我们可以设置 devServer 选项,通过设置 proxy 对象进行代理配置。下面是一个简单的例子:

module.exports = {
  devServer: {
    proxy: {
      '/api': {
        target: 'Http://localhost:8080',
        changeOrigin: true
      }
    }
  }
}

在上述代理配置中,我们将 /api 路径下的请求都转发到本地的 http://localhost:8080 地址。

其中, changeOrigin 选项用于控制是否需要更改请求头中原始主机名。

proxy 对象中,我们可以设置多个代理地址,例如:

module.exports = {
  devServer: {
    proxy: {
      '/api1': {
        target: 'http://localhost:8081',
        changeOrigin: true
      },
      '/api2': {
        target: 'http://localhost:8082',
        changeOrigin: true
      }
    }
  }
}

这里的 /api1/api2 分别代表要转发的请求路径, target 属性指定了要转发到的服务器地址。

实现原理

在了解了代理请求的配置后,我们来看一下代理请求的实现原理。

首先,当我们在前端发起请求时,请求会先被发送到本地服务器。本地服务器接收到请求后,会对请求进行一系列处理,包括修改请求头、修改请求路径等。然后,将处理过的请求转发至后端服务器上。

流程图如下:

代理请求流程图

需要注意的是,在本地服务器中,我们需要设置代理中间件,例如 http-proxy-middleware。代理中间件是一个类似于响应请求的拦截器,用于控制请求过程并修改请求内容。我们可以通过配置代理中间件来实现请求的代理转发。

总结

通过上述的介绍,我们了解了 vue-cli 中的代理请求原理。代理请求是一种在前端解决跨域问题的方法,通过将请求转发至本地服务器,再由本地服务器将请求转发至后端服务器,达到跨域请求的效果。在 vue-cli 中,我们可以通过配置 vue.config.js 文件来设置代理请求,从而实现前端的跨域请求。

以上就是vue-cli 代理请求原理的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: vue-cli 代理请求原理

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

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

猜你喜欢
  • vue-cli 代理请求原理
    Vue 是一个流行的 JavaScript 框架,它可以用来创建交互式的 Web 应用程序。在开发过程中,我们通常会用到 vue-cli 来初始化一个基本的 Vue 项目。 vue-cli 是 Vue 官方提供的一个脚手架工具,它提供了许多...
    99+
    2023-05-25
  • vue-cli项目开发/生产环境代理如何实现跨域请求
    这篇文章主要介绍了vue-cli项目开发/生产环境代理如何实现跨域请求,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。开发环境中跨域使用vue...
    99+
    2024-04-02
  • vue-cli axios请求方式及跨域处理的示例分析
    这篇文章给大家分享的是有关vue-cli axios请求方式及跨域处理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue-cli axios请求方式以及跨域处理安装a...
    99+
    2024-04-02
  • vue-cli中如何配置反向代理
    这篇文章主要介绍“vue-cli中如何配置反向代理”,在日常操作中,相信很多人在vue-cli中如何配置反向代理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue-cli中如何配置反向代理”的疑惑有所帮助!...
    99+
    2023-07-04
  • PHP请求库Guzzle配置代理
    public function run() {// $response = $this->httpClient->request('GET', 'https://plugin.n...
    99+
    2023-09-06
    php 开发语言
  • java http请求设置代理 Proxy
    HttpURLConnection、HttpClient设置代理Proxy 有如下一种需求,原本A要给C发送请求,但是因为网络原因,需要借助B才能实现,所以由原本的A->C变成了A->B->C。 这种...
    99+
    2023-09-10
    java http 服务器
  • SAP请求号传输机制原理
    本篇内容主要讲解“SAP请求号传输机制原理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SAP请求号传输机制原理”吧!1请求号传输分为二种情况1)、同一个服务器的不同Client进行传输,使用事...
    99+
    2023-06-05
  • vue网络请求方案原生网络请求和js网络请求库
    一、 原生网络请求 1. XMLHttpRequest(w3c标准)    // 没有promise时的产物 当时的万物皆回调,太麻烦 2. Fetch    // html5提供的...
    99+
    2024-04-02
  • 如何使用vue-cli开发vue时的代理设置
    这篇文章将为大家详细讲解有关如何使用vue-cli开发vue时的代理设置,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如下所示: '/goods'...
    99+
    2024-04-02
  • vue-cli实现异步请求返回mock模拟数据
      在前后端分离开发的过程中,前端开发过程中,页面的数据显示一般都是写死的静态数据,也就是没有经过接口,直接写死在代码中的,在后端给出接口后,再替换为接口数据,为了减少对接成本,mo...
    99+
    2024-04-02
  • Vue-cli中post请求发送Json格式数据方式
    目录post请求发送Json格式数据举个例子解决post请求无法携带数据问题post请求发送Json格式数据 这里就不详细说明了 举个例子 var param = new URLSe...
    99+
    2024-04-02
  • gitlab的合并请求是什么原理
    GitLab是一个流行的版本控制管理软件,被许多开发人员用于协作和版本控制。其中一个关键的功能是合并请求(Merge Request),也称为合并申请或合并请求。本文将介绍合并请求的原理以及与GitLab集成的过程,以及如何在团队中使用它来...
    99+
    2023-10-22
  • Vue项目的网络请求代理到封装步骤详解
    目录1.创建vue项目2.安装axios3.进行config.js配置4.main.js里引入5.src目录下新建Utils文件夹,在内封装request.js6.以login路由为...
    99+
    2023-05-18
    Vue网络请求代理到封装 Vue网络请求
  • vue-cli项目中怎么配置反向代理
    vue-cli项目中怎么配置反向代理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体如下:proxyTable: {//配置请求代...
    99+
    2024-04-02
  • HTTP代理的请求范围是什么
    这篇文章将为大家详细讲解有关HTTP代理的请求范围是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、支持Socks代理服务器的网络工具像OICQ和CuteFTP等支持Socks代理服务器的网络工具,...
    99+
    2023-06-15
  • java如何实现代理转发请求
    Java可以通过代理模式来实现请求的转发。代理模式是一种结构型设计模式,它允许通过在代理对象和实际对象之间添加一个中间层来间接访问实...
    99+
    2023-09-09
    java
  • SpringMVC处理multipart请求的示例代码
    一、简述multipart格式的数据会将一个表单拆分为多个部分(part),每个部分对应一个输入域。在一般的表单输入域中,它所对应的部分中会放置文本型数据,但是如果上传文件的话,它所对应的部分可以是二进制。类似这样:二、 配置 multip...
    99+
    2023-05-30
  • java怎么实现代理转发请求
    Java可以使用动态代理来实现代理转发请求。动态代理是在运行时创建一个实现了给定接口的代理类的过程。以下是一个简单的示例代码: 首先...
    99+
    2023-10-26
    java
  • vue处理get/post的http请求的实例
    目录一、使用Vue.http/this.$http1.GET请求2.POST请求二、使用Vue.resource/this.$resourceGET请求POST请求intecepto...
    99+
    2024-04-02
  • Vue数据代理的原理和实现
    目录Object.defineProperty那么在Vue中如何应用数据代理呢总结Object.defineProperty defineProperty方法会直接在一个对象上定义一...
    99+
    2022-11-13
    Vue数据代理 Vue数据代理原理 vue数据代理怎么实现的
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作