Vue配置代理解决跨域

Network的status中报CORS error指在前端(Vue.js)发起跨域请求时,被服务器拒绝访问的错误
在本地开发环境中,Vue.js 将默认从 http://localhost:8080 启动服务器。如果浏览器访问服务器时使用的 URL 不是该地址,就可能触发 CORS 错误。

此时可以通过代理服务器将前端的请求转发到后端服务器。可以使用 http-proxy-middleware 中间件来实现代理。在 devServer 配置中添加以下代码即可

CORS 是一种安全策略,用于防止恶意网站通过跨域请求获取到用户的敏感数据。浏览器会使用 CORS 策略来检查发起的请求是否来自同源(Origin)的地址。如果请求的来源地址与目标地址不是同源,浏览器就会阻止该请求,出现 CORS 错误。

配置代理可以理解为Vue为你开了一台和你端口号相同的服务器,将浏览器和服务器之间的通话转化为服务器与服务器之间进行通话

方式一:配置代理服务器

在vue.config.js文件下配置代理服务器:

devServer: {proxy:'xxx',  // 服务器端口
}

以上方法不能配置多个代理,不能灵活地控制是否走代理

方式二:如果使用该写法,就能够配置多个代理服务器,还能灵活控制是否走代理

在vue.config.js文件下配置代理服务器:

module.exports = {devServer: {proxy: {// 配置所有以 '/api1' 开头的请求路径'/api1': {target: 'http://XXX',  // 代理目标的端口路径changeOrigin: true, // 是否更改配置代理服务器的端口号pathRewrite: {'^/api1': ''} // 替换请求路径中的字符}},// 配置所有以 '/api2' 开头的请求路径'/api2': {target: 'http://XXX',changeOrigin: true,pathRewrite: {'^/api2': ''}}},}
}

以上代码表示访问 Vue.js 中的 /api 路径时,会被代理到 http://localhost:3000changeOrigin 设置为 true 表示将请求头中 host 字段设置为代理服务器的地址,以避免 CORS 错误。pathRewrite 设置表示在代理时将请求的路径中 /api 替换为空字符串。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS 开发基础(二)Image

HarmonyOS 开发基础(二)Image Entry Component struct Index {// 创建一个状态变量 img 存储 img 网络地址State img: string https://img1.baidu.com/it/u4049022245,514596079&fm253&app138&sizew931&n0&fJPEG&fmtauto?sec1…

什么是类加载器?什么是双亲委派模型?

什么是类加载器,类加载器有哪些? 要想理解类加载器的话,务必要先清楚对于一个Java文件,它从编译到执行的整个过程。 类加载器:用于装载字节码文件(.class文件) 运行时数据区:用于分配存储空间 执行引擎:执…

V2X全方位通信部署产品支持智能交通建设!

来源:德思特测试测量丨德思特案例 | V2X全方位通信部署产品支持智能交通建设! 原文链接:https://mp.weixin.qq.com/s/Fhnvcq9HA60Sed5BIGcnSw 欢迎关注虹科,为您提供最新资讯! 01 案例背景 后疫情时代人们更注重于享…

USB总线驱动(二)设备驱动ch341以及serial

我们以一个usb设备(ch341)驱动例子来看下用法。 一、ch341设备驱动 如上,注册了一个ch341的驱动,根据指定的产品号和设备号,这个驱动将会适配3个类型的usb转串口设备。 module_usb_serial_driver最终转开成 标准的驱动…

正则表达式详细讲解

目录 一、正则表达式概念 二、八元素 1、普通字符: 2、元字符: 3、通配符 .: 4、字符类 []: 5、量词: 6、锚点 ^ 和 $: 7、捕获组 (): 8、转义字符 \: 三、日常使用的正则…

算法 最小生成树

算法选择 稠密图:朴素版普利姆算法【因为代码短】 稀疏图:克鲁斯卡尔算法【因为思路简单】 普利姆(Prim) 朴素 Prim 时间复杂度 O(n^2) 适用情况 稠密图 算法流程 集合:当前已经在连通块中的所有点 初始化距…

水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例

水平自动扩容和缩容HPA;API资源对象NetworkPolicy;Kubernetes用户安全控制;Kubernetes创建普通用户示例 水平自动扩容和缩容HPA(本部分操作适合K8s版本>1.23.x) HPA全称是Horizontal Pod Autoscaler,翻译成中文是…

Windows 系统彻底卸载 SQL Server 通用方法

Windows 系统彻底卸载 SQL Server 通用方法 无论什么时候,SQL Server 的安装和卸载都是一件让我们头疼的事情。因为不管是 SQL Server 还是 MySQL 的数据库,当我们在使用数据库时因为未知原因出现问题,想要卸载重装时,如果数据库…

[LeetCode]-283. 移动零-1089. 复写零

目录 283. 移动零 描述 解析 代码 1089. 复写零 描述 解析 代码 283. 移动零 283. 移动零https://leetcode.cn/problems/move-zeroes/ 描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 &…

【Linux--基础IO】

目录 一、系统文件接口1.1 open1.2 write1.3 read1.4 close 二、文件描述符三、文件描述符的分配规则四、重定向4.1输出重定向的原理4.2dup2函数的系统调用 五、缓冲区5.1代码及现象5.2原理解释5.3C语言FILE 六、文件系统6.1磁盘的介绍6.1磁盘的分区管理 7、软硬连接7.1软连接7…

Windows本地如何添加域名映射?(修改hosts文件)

1. DNS(域名系统) Domain Name System(域名系统):为了加快定位IP地址的速度, 将域名映射进行层层缓存的系统. 目的:互联网通过IP(10.223.146.45)定位浏览器建立连接,但是我们不易区别IP,为了方便用户辨识I…

使用cmake构建的工程的编译方法

1、克隆项目工程 2、进入到工程目录 3、执行 mkdir build && cd build 4、执行 cmake .. 5、执行 make 执行以上步骤即可完成对cmake编写的工程进行编译 ,后面只需执行你的编译结果即可 $ git clone 你想要克隆的代码路径 $ cd 代码文件夹 $ mkdir bu…