跨域-Vue-Cli配置代理转发

2023-05-16

目标:

    通过配置vue-cli请求代理解决开发环境下的跨域问题

vue-cli中集成的跨域解决方案

思路:

在前端服务和后端接口服务之间 架设一个中间代理服务,它的地址保持和前端服务一致,那么:

  1. 代理服务和前端服务之间由于协议域名端口三者统一不存在跨域问题,可以直接发送请求

  2. 代理服务和后端服务之间由于并不经过浏览器没有同源策略的限制,可以直接发送请求

这样,我们就可以通过中间这台服务器做接口转发,在开发环境下解决跨域问题,看起来好像挺复杂,其实vue-cli已经为我们内置了该技术,我们只需要按照要求配置一下即可。

vue-cli解决跨域配置说明

vue.config.js配置文件中,有一项是devServer,它就是我们下边要操作的主角。

module.exports = {
  devServer: {
    // ... 省略
    // 代理配置
    proxy: {
        // 如果请求地址以/api打头,就出触发代理机制
        // http://localhost:9588/api/login -> http://localhost:3000/api/login
        '/api': {
          target: 'http://localhost:3000' // 我们要代理的真实接口地址
        }
      }
    }
  }
}

基地址:

.env.development

VUE_APP_BASE_API = '/api'

api/user.js

export function login(formData) {
  return request({
//  url: 'api/sys/login',
    url: '/sys/login', // 前面的api就省略了
    method: 'POST',
    data: formData
  })
}

重启项目,验证结果

  1. 修改了配置文件,一定要重启前端项目

  2. 再次测试登陆接口,我们发现:跨域问题已经解决了

小结:

  1. vue-cli集成了跨域代理功能------ 只能用在开发阶段

  2. vue.config.js文件中,在devServe下按指定格式配置了proxy,再重启项目即可。

特别强调:

    ajax的基地址baseUrl必须是相对地址,而不能是绝对地址  

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

跨域-Vue-Cli配置代理转发 的相关文章

  • vue3 vue-router 钩子函数

    全局路由守卫 vue router4 0中将next取消了 可写可不写 return false取消导航 undefined或者是return true验证导航通过 router beforeEach to from gt next是可选参
  • Vue (三) 生命周期--钩子函数

    生命周期 Vue官网生命周期的描述 钩子函数 1 beforeCreate 创建Vue实例化之前所调用的函数 div h1 message h1 div
  • java上传图片、文件和富文本内容到服务器上,查看和删除文件

    1 上传富文本内容 前端的富文本内容传到后端 将富文本内容拼接成html页面代码 将内容转换成html文件上传到服务器指定位置进行存储 String profile data xiangmu linux服务器上项目文档存放目录 String
  • Vue 组件化

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

    实现思路 之前写过一篇触底加载 经过一番苦学钻研 优化一下 样式方面 滚动区域是给固定高度 设置 overflow y auto 来实现 接下来看看js方面的实现 其实也很简单 触发的条件是 可视高度 滚动距离 gt 实际高度 例子我会使用
  • vue prop属性使用方法小结

    Prop 一 基本用法 Prop的基本用法很简单 作用是在子组件中接收父组件的值 父组件传值
  • 8.全配置自动生成模块前后端

    文章目录 学习资料 配置式开发全新的模块 快速实现 字典管理 代码生成器详细属性设置 全智能模块开发 查询调整 多表连接 药品模块 生产厂家下拉框 学习资料 https www bilibili com video BV13g411Y7GS
  • vue 子父组件间的那些事儿——搭建项目(一)

    一 搭建vue项目 1 环境准备 基于nodejs vue cli cnpm 搭建vue项目 由于本博主已经具备以上环境 现在直接进行项目搭建 环境准备可参考这篇博客 https blog csdn net xcymorningsun ar
  • Vue出现弹出层时,禁止底部页面跟随滑动

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

    安装使用 插件有版本限制 如果项目使用的是vue2 0版本 请选择安装 4 x版本 否则会安装不成功 yarn add vue video palyer save 或者 npm install vue video palyer save 组
  • 滚动条样式

    一 在div中的滚动条样式 div webkit scrollbar width 5px 滚动条宽度 div webkit scrollbar thumb border radius 10px 滚动条圆角 webkit box shadow
  • 大数据毕业设计之前端02:架构布局和aside的设计

    前言 上一篇主要讲了我学习前端的一个经历 以及为什么选择BuildAdmin作为深入前端学习的原因 同事也大致聊了一下学习前端需要使用哪些技术栈 本篇文章来拆解一下BuildAdmin的前端代码结构 和布局实现的细节 前端代码结构 必须先了
  • vue中使用echarts实现省市地图绘制,根据数据在地图上显示柱状图信息,增加涟漪特效动画效果

    一 实现效果 使用echarts实现省市地图绘制 根据数据在地图显示柱状图 根据数据显示数据 涟漪效果 二 实现方法 1 安装echarts插件 npm install echarts save 2 获取省市json数据 https dat
  • Vue学习之watch侦听器:案例实现翻译功能

    watch侦听器 作用 监视数据的变化 当数据发生变化时 执行一些业务逻辑或者是异步操作 执行的场景例如在线翻译 当文本区域的内容发生变化时 会发生翻译内容的同时更新 语法 简单的写法 简单数据类型 可以直接的进行监听 完整的写法 添加额外
  • vue中使用echarts实现省市地图绘制,根据数据在地图上显示柱状图信息,增加涟漪特效动画效果

    一 实现效果 使用echarts实现省市地图绘制 根据数据在地图显示柱状图 根据数据显示数据 涟漪效果 二 实现方法 1 安装echarts插件 npm install echarts save 2 获取省市json数据 https dat
  • Vue3+Echarts:堆积柱状图的绘制

    一 需求 在Vue3项目中 想用Echarts来绘制堆积柱状图 去展示最近一周APP在不同渠道的登录人数 效果如下 二 实现 关于Echarts的下载安装以及图表的样式设计 此处不展开 1 Templates部分
  • 【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)el-popover鼠标移入提示效果

    vue el popover鼠标移入提示效果 效果 代码
  • 拓展:vue 父组件调用子组件方法ref(且父组件可通过ref调用的方法传值给子组件)

    1 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 一 ref被用来给元素或子组件注册引用信息 引用信息将会注册在父组件的 refs对象上 div class formBtn fl 111 div div
  • vue项目日期处理day.js

    dayjs安装 1 npm 安装 npm install dayjs save 2 项目使用 import dayjs from dayjs ES 2015 dayjs format 使用介绍 1 秒 获取或设置秒 接受0到59的数字 如果

随机推荐

  • u盘启动盘安装centos7.4操作系统

    1 使用UltraISO软件将ISO镜像刻录到U盘 xff0c 然后用u盘安装操作系统 制作好的u盘如下所示 xff1a 2 启动华为h3c服务器 xff0c 出现下面的界面 按照提示按住Ctrl 43 A制作raid 继续点击下一步 xf
  • redis一主一从两台机器高可用

    目录 1 机器规划 2 redis的部署安装 2 1配置文件内容 2 2 启动2台机器上的redis服务 2 3 查看2台机器上redis数据信息 3 redis主从之间手动切换 3 1 停掉22上的redis进程 xff0c 到23从re
  • cumulusclips的部署

    描述 xff1a CumulusClips是一个开源的视频分享 xff08 内容管理 xff09 平台 xff0c 能够提供最佳的视频分享功能之一类似YouTube 在CumulusClips的帮助下 xff0c 您可以开始自己的视频分享网
  • Linux安装nodejs和npm

    最近window系统转向linux系统开发 xff0c linux系统的确适合程序员的开发 作为前端安装了nodejs和npm xff0c 遇到了一些坑 xff0c 赶紧记录下来 第一种安装方法 xff1a 安装nodejs xff1a s
  • python 编写的DHT Crawler 网络爬虫

    1 安装boost依赖和编译环境 yum install y boost boost devel yum install y make gcc gcc c 43 43 kernel devel python devel 2 装 libtor
  • nginx location proxy_pass详解

    在nginx中配置proxy pass时 xff0c 如果在proxy pass后面的url加 xff0c 相当于是绝对根路径 xff0c 则nginx不会把location中匹配的路径部分代理走 如果没有 xff0c 则会把匹配的路径部分
  • hbase代码说明(通话记录查询)

    Hbase的项目 xff08 通话记录查询 xff09 写java的包 导入jar包 Hbase的包 xff0c hadoop的包 xff0c 驱动包 配置文件 xff08 hbase hdfs regionserver backup xf
  • SysTick 定时器详细学习笔记并兼容FreeRTOS

    文章目录 一 xff1a 基础知识二 xff1a SysTick 的时钟频率三 xff1a SysTick 的配置四 xff1a SysTick 实现精准延时并兼容 FreeRTOS五 xff1a 参考 一 xff1a 基础知识 SysTi
  • 无人机项目跟踪记录四十八---角度pid控制模块详解(2)

    角度pid控制模块中函数 xff1a static void PID Postion Cal PID Typedef PID float target float measure int32 t dertT 为PID自整定函数 xff1a
  • 无人机项目跟踪记录四十九----角速度环的pid控制详解

    角速度环的pid控制的函数是void CtrlAttiRate void xff0c 具体解释如下 xff1a 首先初始化变量 xff0c 获取陀螺仪读取的角速度 float yawRateTarget 61 0 期望的偏航角速度 stat
  • 无人机项目跟踪记录五十一----高度融合模块详解

    这个模块的函数是 xff1a void AltitudeCombineThread void 函数有点乱 xff0c 部分没有看懂 xff0c 加上了注释 以后再详细搞清楚吧 xff01 timeStamp in us Thread sho
  • 无人机项目跟踪记录五十八--原理图控制部分分析

    下图为控制部分的电路图 xff1a 左上角电路是3 3v的供电电源 xff0c 附近的两个电容起到滤波作用 其下的J1是接仿真器的接口 xff0c 这里用的是SW模式 右边的U1为核心控制芯片arm xff0c 是整个电路的控制核心 Y1是
  • 基于faster-rcnn的图片标注和数据集生成自动化工具(数据集格式同pascal voc)

    未完待续 faster rcnn的模型训练需要大量数据集 xff0c 目前使用labelImg工具 xff0c 需要人工一张一张标注 xff0c 效率低 本文使用python编写了自动化图片标注和数据集生成工具 xff08 本文标注目标是人
  • js中删除对象的某一项或某几项数据

    废话不多说 xff0c 直接敲起来 xff1a 下面以删除name值为列 span class token keyword let span list span class token operator 61 span span class
  • 安装ofsoftswitch13

    http blog disects com 2014 01 installing cpqd switch on mininet using html 里讲的 安装ofsoftswitch13需要先把mininet中的openvswitch
  • ubuntu16.04运行MSCKF Mono

    仅作为笔记 环境 xff1a ROS Kinetic Boost OpenCV Eigen fast 依赖 span class token function sudo span span class token function apt
  • cmake -D CMAKE_PREFIX_PATH=/home/nvidia/data/wyy/openpose/build

    cmake D CMAKE PREFIX PATH 61 home nvidia data wyy openpose build 表示上层目录 D 相当于就是定义 D 可以理解为告诉cmake 后边我要定义一些参数了 你每定义一个就在前边加
  • VNC 的应用及灰屏鼠标变X问题

    Ubuntu中vnc服务器端的安装很简单 xff0c 运行如下命令 xff1a sudo apt get install vnc4server 第一次启动vncserver后 xff0c 在用户家目录中会生成 vnc 目录 xff0c 注意
  • 第七章 MapReduce详解

    MapReduce是一种并行编程模型 用于大规模数据集 大于1TB 的并行计算 它将复杂的 运行于大规模集群上的并行计算过程高度抽象为两个函数 Map和Reduce MapReduce是单输入 两阶段 粗粒度数据并行 分布式计算框架 适合用
  • 跨域-Vue-Cli配置代理转发

    目标 xff1a 通过配置vue cli请求代理解决开发环境下的跨域问题 vue cli中集成的跨域解决方案 思路 xff1a 在前端服务和后端接口服务之间 架设一个中间代理服务 xff0c 它的地址保持和前端服务一致 xff0c 那么 x