vue cli配置代理解决跨域问题

news2024/12/24 21:58:00

跨域问题
是由于违背了同源策略,同源策略规定了协议名、主机名、端口号必须一致
我们目前所处的位置是http localhost 8080,我们想向一台服务器发送请求,它的位置是http localhost 5000,我们的ajax请求从浏览器发送到服务器,服务器收到了这次请求并把数据交给了浏览器,但由于违背了同源策略,浏览器不会让我们进一步拿到数据

解决跨域问题
1.cors
在服务器中添加特殊的响应头
2.jsonp
利用了script标签的src属性,在引入外部资源的时候不受同源策略的限制
(真实开发用的不多,只能解决get请求的跨域问题)
3.配置一个代理服务器
在这里插入图片描述
借助vue cli可以开启一个代理服务器
⚠️:代理服务器的端口号也是8080,以后我们发送请求的时候端口号写8080即可

vue cli配置代理
在vue.config.js中添加如下配置:

//  解决版本更新缓存问题  文件后面加时间戳
const Timestamp = new Date().getTime();
module.exports = {
  publicPath:'/',
  configureWebpack: {
    devtool: 'source-map',
    output: {
      filename: `js/[name].${Timestamp}.js`,
      chunkFilename: `js/[name].${Timestamp}.js`
    },
  },
  css: {
    extract: {
      filename: `css/[name].${Timestamp}.css`,
      chunkFilename: `css/[name].${Timestamp}.css`,
    }
  },
  productionSourceMap: false, // 打包时不生产.map文件
  devServer: {
    proxy: {
      '/api1': {
        target: 'http://localhost:5000',
        changeOrigin: true,//用于控制请求头中的host值
        ws: false,
        //真正的服务器没有/api,所以要重写路径置空,否则找不到相应的路径
        pathRewrite: {
          '^/api1': ''
        }
      }
    }
  }
}

说明:

若不配置pathRewrite,则因为我们的请求路径需要加上’/api1’前缀,发送给服务器的请求路径中也会加上’/api1’,导致请求路径错误

当changeOrigin为true时,服务器收到的请求头中host为:localhost:5000,当changeOrigin为false时,服务器收到的请求头中host为:localhost:8000

'/api1’在发送ajax请求时,是添加在请求路径的端口号后

优点:可以配置多个代理
在这里插入图片描述
(请求路径统一加上/api1就方便监测,只需要监测/api1就行了,就不用监测/students以及可能有其他的名字,但是就是需要配置pathWrite再统一删去/api1才发送的是正确的请求)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601256.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

界面组件DevExpress WPF中文指南 - 如何应用系统强调色及主题切换

在最新版本的Microsoft Office产品中,用户可以根据系统设置选择主题,当使用这个主题时,Office将采用Windows强调色和应用模式(亮/暗)设置,并将它们应用到Office本身。如果用户在操作系统中更改了强调色或应用模式,Offi…

【spring源码系列-02】通过refresh方法剖析IOC的整体流程

Spring源码系列整体栏目 内容链接地址【一】spring源码整体概述https://blog.csdn.net/zhenghuishengq/article/details/130940885【一】通过refresh方法剖析IOC的整体流程https://blog.csdn.net/zhenghuishengq/article/details/131003428 spring底层源码整体概述 一&#xff…

2个实际工作中的小技巧,先收再看(网工版)

大家好,我是老杨。 本来想发点关于快乐的文章,但我思来想去,对成年人最大的快乐,莫过于高效完成工作,早点下班回家。 关于提升工作效率这方面啊,我的文章其实零碎、分散的写过了很多次了。 你要知道&…

ChatGPT国内免费使用地址和开源公众号集成项目分享

ChatGPT国内免费使用地址和开源公众号集成项目分享 ChatGPT国内免费使用地址ChatGPT开源公众号集成项目ChatGPT国内免费调用API的地址总结免费体验地址 人工智能技术的快速发展,ChatGPT聊天机器人备受瞩目。然而,如何在国内免费使用ChatGPT却是许多人关注…

手绘echarts散点图

面对各种定制,echarts图表有时候不好处理,无论是数据处理还是样式处理,都会被echarts限制。 举例:echarts散点图如果数据较少,echarts会均匀分布,如图1 对于产品或者老板对页面的要求,认为中间…

ROS2中,从SolidWorks导出的urdf,联合moveit、gazebo进行控制及仿真

文章目录 1.前言2.从urdf到moveit3.从urdf到gazebo3.1.urdf文件的修改3.1.1.mesh路径3.1.2.零件起飞3.1.3.文件保存 3.2.xacro文件的修改3.3.launch 4.用moveit控制gazebo5.结语 1.前言 本文是对之前发的文章【在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手】的…

C 语言详细教程

目录 第一章 C语言基础知识 第二章 数据类型、运算符和表达式 第三章 结构化程序设计 第四章 数组 第五章 函数 第六章 指针 第七章 结构体类型和自定义类型 第八章 编译预处理 第九章 文件 说明:本教程中的代码除一二三个之外,都在https://ligh…

尝试理解卷积神经和深度学习的关系,并且怎么使用

前言 最近想要了解卷积神经和深度学习,才发现并不是我想象中的简单,也不是我想象中的难.我想的难是指没有任何思路:不知道这是个什么玩意,里面的流程是不是很难,我想的简单就是:也就是用人家的包,全都是用来导包,我只需要知道这个包是怎么用的,从来没想过自己怎么开发出来一个依…

Python splitlines() 的使用

Python splitlines() 的作用 Python splitlines() 按照行(\r, \r\n, \n)分隔,返回一个包含各行作为元素的列表 Python splitlines()的注意事项 splitlines小括号里面的参数没有的时候,默认按照行(\r, \r\n, \n)分隔不带这些特殊的字符 如果这样splitlines(True)…

ISO21434 概述(一)

目录 一、ISO21434 1.1 目的 1.2 ISO21434文档组织结构 二、适用范围 三、引用标准 四、术语和缩写 4.1 术语 4.2 缩写 五、一般考虑 一、ISO21434 1.1 目的 本文件阐述了道路车辆内电气和电子(E/E)系统工程中的网络安全问题。通过确保对网络安…

Ansible的配置、主机清单、Ansible的脚本Playbook详解

文章目录 Ansible的配置配置文件 主机清单远程主机的分组变量 Ansible的脚本PlaybookPlaybook的文件格式YAMLansible-playbook的命令Playbook的基本语法变量 Ansible的配置 配置文件 Ansible是一款功能强大的自动化工具,可以实现对远程主机的管理和操作&#xff0…

华为认证 | HCIA-Datacom 考试大纲

今天给大家说点基础的,很多人对华为认证考试有了一定了解后,想要进一步了解具体的考试内容。 这篇先说HCIA-Datacom的具体考试大纲~ 01 华为HCIA-Datacom认证考试 02 华为HCIA-Datacom考试内容 HCIA-Datacom V1.0考试覆盖数通基础知识,包括&…

java 中的动态代理实现

1. 什么是代理模式 代理模式是常见的设计模式之一,顾名思义,代理模式就是代理对象具备真实对象的功能,并代替真实对象完成相应操作,并能够在操作执行的前后,对操作进行增强处理。(为真实对象提供代理&…

表格软件有哪些?热门表格软件推荐

作为报表开发人员,我们经常需要使用各种表格软件来处理数据并生成清晰、易读的报表。在市面上,有许多不同类型的表格软件可供选择。下面我将列举7款热门的表格软件,并详细介绍其中一款优秀的软件—VeryReport。 编辑搜图 请点击输入图片描述…

Qt6.5.1+WebRTC学习笔记(九)运行官方示例(win10+vs2019)

前言 webrtc源码目录下,有个examples目录,里面放置着官方的示例,其有peerconnection示例。 一、问题 peerconnection示例分客户端和服务端,以win系统为例,编译后会在输出目录生成两个可执行文件 服务端程序可以正常…

【基于GD32E230的定时器级联M/T法电机测速】

前言 在有感电机控制中,获取电机转速是非常重要的步骤,转速获取越准确,控制电机时越方便,抛开霍尔不谈,这里讨论电机编码器。 目前常见的电机编码器按种类分为绝对值编码器和增量编码器,绝对值编码器相对…

厚积薄发,AR光学方案商光舟半导体于AWE 2023首次公开亮相

青亭网6月2日报道,国内AR光波导技术厂商“光舟半导体”(深圳市光舟半导体技术有限公司)在AWE 2023首次公开亮相,并展示了最新的AR光波导模组、光机/光引擎、汽车HUD三大产品。 光舟半导体成立于2020年1月,公司由AR光学…

5.8 几个常见JavaScript图表库

几个常见JavaScript图表库 目录1、 Chart.js2、 Chartist.js3、 Highcharts.js4、 D3.js5、 Plotly.js6、 ECharts.js7、 Google Charts8、Other Charts 目录 1、 Chart.js 官方网站: www.chartjs.org Chart.js 是一个基于 HTML5 Canvas 的 JavaScript 图表库&…

Day59【单调栈】503.下一个更大元素II、42.接雨水

503.下一个更大元素II 力扣题目链接/文章讲解 视频讲解 本题和739.每日温度很相似&#xff0c;只不过是循环数组 一种处理循环的方式是&#xff0c;直接把两个数组拼接在一起&#xff0c;然后使用单调栈求下一个最大值 class Solution { public:vector<int> nextGre…

【JUC基础】13. 线程池(二)

目录 1、前言 2、Java实现线程池 2.1、Executors框架 2.2、newFixedThreadPool 2.3、newCachedThreadPool 2.4、newSingleThreadExecutor 2.5、newScheduledThreadPool 2.5.1、scheduleAtFixedRate 2.5.2、scheduleWithFixedDelay 2.5.3、异常中断 3、execute()和sub…