返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue跨域proxy代理配置详解
  • 263
分享到

vue跨域proxy代理配置详解

2024-04-02 19:04:59 263人浏览 八月长安
摘要

目录引言例一例二总结引言 相信很多人都用过proxy,这里就不多说proxy的基本使用,这里要说一下很多人使用proxy的一个误区,大家一般都是直接将管官方的例子拿过来,修改一下代理

引言

相信很多人都用过proxy,这里就不多说proxy的基本使用,这里要说一下很多人使用proxy的一个误区,大家一般都是直接将管官方的例子拿过来,修改一下代理目标直接就是用了,但是代理的路径匹配你真的会用么?

如果你能够认证看完那么我保证你下次再配置代理的时候就能一步就能完成,无需多次npm run serve

先来一个正则热热身待会需要用,看懂了再往下看:

例一

这是我使用express自己搭建的一个超级简单的服务器,代码如下(没有设置允许跨域请求)

// 引入 express 框架
const express = require("express")
// 创建网站服务器
const app = express()
app.get("/list", (req, res) => {
  // 向客户端直接响应一个对象
  res.send({ name: "张三", age: 333 })
})
app.get("/aa/api/list", (req, res) => {
  // 向客户端直接响应一个对象
  res.send({ name: "李四", age: 666 })
})
app.get("/aa/list", (req, res) => {
  // 向客户端直接响应一个对象
  res.send({ name: "王五", age: 888 })
})
// 监听端口
app.listen(3000)
console.log("网站服务器启动成功")

下面是我的Vue.config.js的配置信息

const path = require("path")
module.exports = {
  devServer: {
    // open: true, //打开浏览器
    overlay: {
      //当出现编译错误或警告时,在浏览器中显示全屏覆盖。
      warnings: false, //不显示警告
      errors: true, //显示错误
    },
    proxy: {
      //下面的key是一个正则表达式它的/api前加上^和不加^符号差别非常大
      "/api": {
        target: "Http://localhost:3000",
        pathRewrite: {
          //下面的key是一个正则表达式它的/api前加上^和不加^符号差别非常大
          "^/api": "",
        },
      },
    },
  },
  runtimeCompiler: true,
  lintOnSave: false,
  configurewebpack: {
    resolve: {
      alias: {
        "@": path.resolve(__dirname, "src"),
      },
    },
  },
}

大家只需要关注下面的一部分就可以了,其他的对这次讲解没有影响:

发送请求的代码如下:

<template>
  <div>
    <!-- 测试跨域,这个测试的非常好 -->
    <el-button @click="send1" type="success">点我发送请求1</el-button>
    <el-button @click="send2" type="success">点我发送请求2</el-button>
  </div>
</template>
<script>
import { axiOSImpl } from "@/utils/request"
export default {
  methods: {
    async send1() {
      let res = await axiosImpl.get("/aa/api/list")
      console.log(res)
    },
    async send2() {
      let res = await axiosImpl.get("/api/list")
      console.log(res)
    },
  },
}
</script>
<style></style>

很简单的几行代码,那么此时点击两个按钮会分别输入什么呢?

看结果:

也许想的和你不太一样,那么这就是我们要说的重点了,在圈1和圈2圈起来的地方,是一个正则表达式

由于此时圈1没有加^符号,那么所有带有/api的请求都会进来,然后进行代理,在进行pathRewrite的时候,由于加上了^符号,那么就只会匹配以/api开头的路径,把以/api开头的这一个/符号和三个字母变为空,其余的都保留下来,因此第一个请求到服务器就变成了/aa/api/list,第二个就变成了/list,因此结果就变成了上面的样子。

例二

如果将vue.config.js的值改成下面的这个样子,其余的不变,结果又会是什么呢?

结果如下:

原理和上面的一样

由于此时圈1加上了^符号,那么所有以/api开头的请求都会进来,然后进行代理,在代理的时候,由于没有上了^符号,那么就会吧路径中所有的/api都变成空,对于请求二到最后到服务器就只剩下了一个/list,因此结果就变成了上面的样子。

总结

圈一和圈二的地方都是正则表达式,再配置proxy的时候一定要看清楚有没有加^符号或者^符号有没有加错,或者是不是写成了正则表达式里面的其他符号

到此这篇关于vue跨域proxy代理配置详解的文章就介绍到这了,更多相关vue proxy内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue跨域proxy代理配置详解

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

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

猜你喜欢
  • vue跨域proxy代理配置详解
    目录引言例一例二总结引言 相信很多人都用过proxy,这里就不多说proxy的基本使用,这里要说一下很多人使用proxy的一个误区,大家一般都是直接将管官方的例子拿过来,修改一下代理...
    99+
    2024-04-02
  • Vite怎么配置代理Proxy解决跨域问题
    本篇内容主要讲解“Vite怎么配置代理Proxy解决跨域问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Vite怎么配置代理Proxy解决跨域问题”吧!前言我们在编写前端项目的时候,经常会遇到...
    99+
    2023-07-05
  • vue如何配置跨域代理
    这篇文章主要介绍了vue如何配置跨域代理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。导语:首先,每一个前端开发人员都应该知道同源策略,同源...
    99+
    2024-04-02
  • Vue3设置Proxy代理解决跨域问题
    目录设置Proxy代理解决跨域ProxyVue3.0代理配置设置Proxy代理解决跨域 Proxy Vue3当中的跨域解决方案还是跟Vue2差不多用的都是proxy,而且Vue3的双...
    99+
    2024-04-02
  • vue中proxy代理的用法(解决跨域问题)
    目录声明1. 首先我们应该知道2. 跨域,什么是跨域呢?问题跨域的解决方案代理服务器是如何解决跨域的?proxy配置以vue cli3.0为例总结声明 1. 首先我们应该知道 前端a...
    99+
    2022-12-09
    vue proxy代理 proxy解决跨域 vue跨域问题
  • vue代理模式解决跨域详解
    目录跨域是什么解决跨域1、在vue.config.js中这样写:2、创建一个http.ts(我是ts的,你也可以js):3、创建一个request.ts:4、这样使用:跨域是什么 简...
    99+
    2024-04-02
  • vue中如何配置proxy代理
    目录vue配置proxy代理proxy常用参数说明关于/api的详解部署因为/api无法请求到数据总结vue配置proxy代理如果你的前端应用和后端 API 服务器没有运行在同一个主...
    99+
    2023-01-14
    vue配置proxy代理 vue配置代理 proxy代理配置
  • 详解VUE中的Proxy代理
    Proxy 是ES6中提供的一个非常强大的功能,可以用来代理另一个对象,从而拦截、监视并修改这个对象的各种操作 首先是Proxy()的参数: arget:被代理的对象。handler...
    99+
    2023-05-16
    VUE Proxy代理
  • vue服务器代理proxyTable配置如何解决跨域
    目录服务器代理proxyTable配置解决跨域1、Proxy代理作用2、常见情况3、应用方式4、具体配置实例 5、配置思路Vue.proxyTable是什么?为什么会有pr...
    99+
    2024-04-02
  • vue项目配置代理如何解决跨域问题
    目录Vue项目配置代理1. 这里以axios发请求为例2. 如果发送的请求都以 /abc 开头3. 代理多个接口什么是跨域?配置(vue.config.js)总结Vue项目配置代理 ...
    99+
    2023-01-28
    vue项目配置代理 vue跨域 vue配置代理
  • vue项目实现webpack配置代理,解决跨域问题
    目录webpack配置代理,解决跨域主要是这句话vue跨域问题,修改代理后仍404接口请求用法webpack配置代理,解决跨域 在config文件夹中的index.js文件配置 主要...
    99+
    2024-04-02
  • Vue代理报错404问题及解决(vue配置proxy)
    目录Vue代理报错404问题第一种路径拼接 /api 情况第二种路径不变情况注意点新增说明:配置多个代理怎么搞?总结Vue代理报错404问题 问题描述: 代理后出现404: 第一...
    99+
    2022-12-08
    Vue代理报错404 Vue代理报错 vue配置proxy
  • vue使用vite配置跨域以及环境配置详解
    目录如何配置跨域,代理域名区分开发环境和生产环境,以及预发布环境可以做什么事补充:解决跨域常用方法一、VUE中常用proxy来解决跨域问题二、JSONP解决跨域 三、COR...
    99+
    2024-04-02
  • Vue-Cli配置代理转发解决跨域问题的方法
    目录vue-cli中集成的跨域解决方案vue-cli解决跨域配置说明基地址重启项目,验证结果小结vue-cli中集成的跨域解决方案 思路: 在前端服务和后端接口服务之间 架设一个中...
    99+
    2024-04-02
  • 实例详解vue中的代理proxy
    目录问题复习一下跨域的解决方案原理场景扩展几个常用的devServer配置扩展几个vue/cli3的配置问题 我们本地调试一般都是 npm run serve,然后打开 本机ip:8...
    99+
    2023-02-17
    vue代理proxy vue代理
  • Vue配置文件中的proxy配置方式详解
    1. 这里以axios发请求为例 axios.get("/abc/def"); axios.get("/abc/ghi"); axios.post("/abc/jkm"); axi...
    99+
    2024-04-02
  • Vue中的axios和proxy代理怎么配置
    今天小编给大家分享一下Vue中的axios和proxy代理怎么配置的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.引入ax...
    99+
    2023-07-05
  • Nginx配置反向代理解决跨域问题
    通过Nginx配置反向代理结果跨域问题 第一步:下载Nginx 一、下载 官网下载地址:http://nginx.org/en/download.html 我下载的版本:http://nginx.or...
    99+
    2023-09-06
    nginx 服务器 运维
  • zabbix代理proxy安装配置
    zabbix proxy安装在另一台机器上,与zabbix server使用不同的数据库,以免造成数据错乱。zabbix proxy使用zabbix 2.2.0版本 (1)下载zabbix安装包w...
    99+
    2024-04-02
  • JS跨域解决方案react配置反向代理
    跨域解决方案   jsonp(模拟get) CORS(跨域资源共享) 代理 iframe postMessage window.name WebSocket react的代理实现跨域...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作