vue如何通过配置proxy解决跨域问题

2023-11-16

原本在用axios做数据请求的时候我就打算用CORS解决跨域问题,奈何跟我做配合的后端成员用natapp做内网穿透给到的数据接口没有在服务器做CORS跨域需要的相关请求头配置,那这个时候就只能在前端解决跨域问题。

在vue中配置代理proxy解决跨域

用vue-cli脚手架搭建的项目里,打开config文件夹里的index.js文件做相关配置

module.exports = {
  dev: {
    proxyTable: {
      '/api1': {  //代理1 当请求路径为:/api1时,相当于请求http://b2se29.natappfree.cc/
        target: 'http://b2se29.natappfree.cc/',  // 服务器地址
        changeOrigin: true,  // 是否跨域
        pathRewrite: {
          '^/api1': ''  // 地址追加
        }
      },
      '/api': {   //代理2 当请求路径为:/api时,相当于请求target+pathRewrite的内容,即http://localhost:8080/static/mock
        target: 'http://localhost:8080',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/static/mock'
        }
      }
    },

这里我同时做了两个代理,一个是代理到本地localhost的接口api,一个是代理到需要跨域的服务器上api1。

当我要请求本地接口上的数据的时候,通过api做请求
在这里插入图片描述
设置代理后相当于上述路径会被重写为:http://localhost:8080’/static/mock/standard.json

当我需要请求服务器上的接口数据的时候,通过api1做请求
在这里插入图片描述
上述路径相当于请求地址:http://b2se29.natappfree.cc/admin/major/list

代理配置注意点

如果配置一个以上的代理,要注意不同代理是以正则匹配的原则进行路径匹配的。

什么意思呢,比如当你同时配置了三个代理分别叫api、api1、api2
在这里插入图片描述
那么当你访问/api1/fcgi-bin或访问/api2/dsaf-bin两个地址的时候,实际上请求的都是/api

原因:因为三个代理接口中都包含/api,那么根据正则匹配原则从上往下进行匹配的时候,每当访问/api1/api2下的路径,都会优先匹配到第一个的/api代理

解决方法:将匹配度高的优先放在前面
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue如何通过配置proxy解决跨域问题 的相关文章

  • 前端实现导出excel表格(合并表头)

    需求 勾选行导出为excel表格 合并表头 一 安装插件 npm install save file saver xlsx 运行项目报如下警告的话 运行npm install xlsx 0 16 0 save 来降低版本号 最初我安装的版本
  • Element Plus 配置自动按需引入后,手动引入组件,组件样式丢失

    起因 最近在尝试使用 Element Plus 写一些简单的页面 跟着官方文档走配置了自动按需引入 npm install D unplugin vue components unplugin auto import vite config
  • vue:实现锚点双向滚动/文章章节联动滚动效果

    文章目录 需求描述 实现思路 示例代码 参考网址 需求描述 需要实现类似doc中文档大纲的效果 点击对应章节的名称时定位到相应的正文 而当正文滚动时 高亮显示对应的章节名称 实现思路 其实笔者一开始想到的是利用a标签页内跳转 也就是 锚点
  • Vue 组件化

    什么是组件化 任何一个人处理信息的逻辑能力都是有限的 所以 当面对一个非常复杂的问题时 我们不太可能一次性搞定一大堆的内容 但是 我们人有一种天生的能力 就是将问题进行拆解 如果将一个复杂的问题 拆分成很多个可以处理的小问题 再将其放在整体
  • ip正则表达式

    var Sip rule value callback gt if 2 5 0 5 0 4 d 0 1 d 1 2 2 5 0 5 0 4 d 0 1 d 1 2 3 test value false callback new Error
  • mapState的使用(常用)

    mapState作用 可以辅助获取到多个state的值 怎么使用 1 在 vue组件中引入 在js块中引入 import mapState from vuex 2 在 vue组件中computed下定义一个对象 computed mapSt
  • vue 表格表头内容居中

    放入
  • 8.全配置自动生成模块前后端

    文章目录 学习资料 配置式开发全新的模块 快速实现 字典管理 代码生成器详细属性设置 全智能模块开发 查询调整 多表连接 药品模块 生产厂家下拉框 学习资料 https www bilibili com video BV13g411Y7GS
  • Vue与TypeScript的完美结合

    前言 TypeScript 是 JS类型的超集 并支持了泛型 类型 命名空间 枚举等特性 弥补了 JS 在大型应用开发中的不足 在我们自己单独学习 TS时 时常感觉很多知识点还是比较好理解的 但要和框架结合的话 感觉就有点糟 因为我使用Vu
  • Vue-cli3更改项目logo图标

    1 图标切成对应大小 2 图标名称后缀与vue原有图标logo名称 后缀一致 favicon ico 并替换 3 vue项目根目录下 新建 vue config js 添加下列代码 module exports pwa iconPaths
  • Vue出现弹出层时,禁止底部页面跟随滑动

    背景 最近在写一个vue项目 当出现弹出层时 发现底部页面跟随滚动 但是产品不想要这种效果 于是找各种资料 发现很多说法 但是试了试 发现有的根本就不行 比如说有人提出用vue中提供的 touchmove prevent方法来解决 但是我试
  • vue_table导出excel

    vue直接导出对应table const exportClick gt const wb XLSX utils table to book document querySelector newTables 关联dom节点 get binar
  • vue_域名部署无法访问后端

    前言 目前部署的比较另类 因为服务器为 windows 目前还不是很会 nginx 所以现在就只能在服务器上安装 nodejs 然后直接使用 npm run dev 命令行的方式运行项目 遇到的坑 使用ip访问前端的时候 就可以访问 但是通
  • 大数据毕业设计之前端03:logo、menu的折叠展开实现

    关键字 BuildAdmin pinia logo aside menu 菜单折叠 Vue ElementUI 前言 上一篇文章中 借助aside的实现讲了一些开发的小技巧 以及css的解读 本篇文章主要写一下如何填充aside的内容 as
  • vue中使用echarts实现省市地图绘制,根据数据在地图上显示柱状图信息,增加涟漪特效动画效果

    一 实现效果 使用echarts实现省市地图绘制 根据数据在地图显示柱状图 根据数据显示数据 涟漪效果 二 实现方法 1 安装echarts插件 npm install echarts save 2 获取省市json数据 https dat
  • 基于vue2+海康威视web开发包3.2 无插件版本开发的监控系统

    文章目录 前言 一 插件准备 二 使用步骤 前言 项目最终效果为 可以预览 并且可以使用云台控制 购买的海康威视摄像头必须可以开启websocket 一 插件准备 插件下载地址 下载WEB无插件开发包V3 2 并加入到vue项目中 下载后解
  • [黑马程序员TypeScript笔记]------一篇就够了

    文章目录 1 TypeScript 介绍 TypeScript 是什么 TypeScript 为什么要为 JS 添加类型支持 TypeScript 相比 JS 的优势 2 TypeScript 初体验 安装编译 TS 的工具包
  • 【vue】$bus 跨组件调用方法

    1 新建bus js import Vue from vue 使用 Event Bus const bus new Vue export default bus 2 main js引用 import bus from libs bus Vu
  • 拓展:vue 父组件调用子组件方法ref(且父组件可通过ref调用的方法传值给子组件)

    1 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 一 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 div class formBtn fl 111 div div
  • Vue3 和Vue2的区别,以及钩子函数的使用

    Vue js 3 和 Vue js 2 是两个主要版本的流行前端框架 它们之间有很多区别 包括性能优化 新特性和改进的API等 以下是一些Vue 3与Vue 2之间的主要区别 以及一些示例代码来说明这些差异 1 性能优化 响应式系统 Vue

随机推荐

  • 华为硬件工程师社招机考题库_华为硬件工程师笔试题

    有效地扩展放大器的通频带 改善放大器的线性和非线性失真 6 放大电路的频率补偿的目的是什么 有哪些方法 仕兰微电子 频率补偿目的就是减小时钟和相位差 使输入输出频率同步 很多放大电路里都会用到锁相环频率补偿电路 7 频率响应 如 怎么才算是
  • python中数据的初始化

    1 普通数据的初始化 在函数以外的地方初始化数据 若数据是不同名 但初始值一样 则可以这样写 a b c d 0 2 函数参数区域的数据初始化 可以在形参的范围内去初始化各个不同名字的参数 def f value 0 reverse Fal
  • 安防音视频(rtsp,onvif,gb28181)的HTML5(H5)解决方案(直播,回放,PTZ)

    背景 单位需要在基于H5的管理软件中接入安防音视频 直接在H5上实现不容易 只能选择第三方开发包 本文对klporxy使用做个简单记录 开发包的获取 开发包为共享软件 2路视频是免费的 需要的可以点击下载 或者邮件联系5614280 qq
  • Ubuntu 如何切换到root账户

    root账号问题ubuntu默认禁用了root账号 所以当年试图使用su root命令切换到root用户时 尽管你已经输入了正确的密码 终端依旧会提示你密码错误 你需要执行以下命令解除root账号的锁定1 打开终端 Dash搜索termin
  • 面对AI,要(能)当“杜兰特”吗?

    大家好 我是老三 先说一下这篇文章没什么干货 就是一篇随笔 今天闲来无事 在掘金上刷到一篇文章 GPT 4都来了 我们还需要刷算法题和背八股文吗 https juejin cn post 7211120847787098171 文章还行 但
  • 为什么技术开发者应该读一读《浪潮之巅》

    上周已经阅读完吴军老师的著作 浪潮之巅 第二版 迄今仍然激情澎湃 这本著作以平和直白的笔触介绍了硅谷IT企业们的发展史 看像微软 谷歌 苹果等优秀的IT企业们 从白手起家 到发展壮大成为今天的巨头 再看太阳微系统公司 雅虎公司从创造辉煌 到
  • 关于Eclipse如何改成中文的方法

    从官网下载的Eclipse是英文版的 对于我这种新手来说要上手比较困难 所以需要改成中文版的 咱们首先进入Eclipse语言包的网址 如下图所示进行操作 如图所示 找到对应的版本进入 找到标题为Language Chinese Simpli
  • 常用的正则表达式集锦

    常用的正则表达式集锦 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 4
  • 【FreeRTOS学习计划】 第九节 支持时间片

    FreeRTOS 与隔壁的 RT Thread 和 C OS 一样 都支持时间片的功能 所谓时间片就是同一个优先级下可以有多个任务 每个任务轮流地享有相同的 CPU 时间 享有 CPU 的时间我们叫时间片 在 RTOS 中 最小的时间单位为
  • 随笔:vscode-latex中文配置

    vscode用的久了 感觉确实比texstudio好用 question 1 vscode latex中文配置 vscode安装LaTeX Workshop Extension 默认latexmk就已经可以满足写英文paper的要求了 因为
  • 【STM32】基于STM32F407实现串口通信

    目录 一 通用同步异步收发器 USART 1 USART 简介 2 USART 功能说明 3 USART框图 二 基于HAL库实现串口通信 1 工程创建 2 HAL库UART函数库介绍 3 USART接收与发送 三 总结 四 参考 一 通用
  • vSphere 7.0+Replication 8.3安装配置

    esxi嵌套后建立的VM无法与其它未嵌套的VM通讯 需要更改物理ESXi的网络配置 接受混杂模式 接受mac变更等三个选项 更改kernel网络的配置 勾选vsphere replication 否则配置VM的复制策略时会报错 请验证源主机
  • 嘘!市面上短视频(douyin)“去水印”的工具原来是这样实现的

    现在视频号非常火热 之前在做抖音和快手的人就直接把之前的视频直接搬运过来了 但是从抖音app下载的视频都是带官方水印的 这个是怎么去掉的 哦 不对 他们应该都有保留原视频的吧 但是还有很多人是直接搬运别人的视频的 那他们是怎么去水印的呢 其
  • Cytoscape安装后无法打开

    Cytoscape是一款图形化显示网络并进行分析和编辑的软件 从官网下载了最新的版本 3 7 2 由于Cytoscape需要Java环境才能运行 如果你的电脑还没有Java环境 在安装时最新的3 7 2版本会自动下载并安装Java好环境 自
  • 《深入理解计算机系统》实验二Bomb Lab

    前言 深入理解计算机系统 实验二Bomb Lab的下载和官网文档的机翻请看 深入理解计算机系统 实验二Bomb Lab下载和官方文档机翻 用的调试工具是gdb 用到的指令如下 指令 作用 break 打断点 disassemble 查看汇编
  • Spring Boot中ApplicationRunner与CommandLineRunner

    在实际的开发场景中 经常需要在运行环境之前执行一些类似于读取配置文件 数据库连接操作等 Spring Boot提供了ApplicationRunner和CommandLineRunner来帮助我们实现这些需求 时机 他们执行的时机是为容器启
  • 搜索引擎批量查询控制脚本

    seo的工作需要我们会经常查询gg和百度的结果 收录也好排名也好 所以在做查询脚本时一定要控制查询时间来防止百度封锁禁止你的查询 当然有两种方法 1 不断变换代理 当然代价较大 2 控制查询请求的间隔 3 前两者结合使用 一般的脚本我们从性
  • 利用 MLP(多层感知器)和 RBF(径向基函数)神经网络解决的近似和分类示例问题(Matlab代码实现)

    个人主页 研学社的博客 欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述 1 径向基神经网络
  • weixin支付

    前端
  • vue如何通过配置proxy解决跨域问题

    原本在用axios做数据请求的时候我就打算用CORS解决跨域问题 奈何跟我做配合的后端成员用natapp做内网穿透给到的数据接口没有在服务器做CORS跨域需要的相关请求头配置 那这个时候就只能在前端解决跨域问题 在vue中配置代理proxy