一、问题描述:

控制台报错,出现跨域问题

二、解决方案

配置代理:
第一种配置方式:

在package.json中追加如下配置

"proxy":"http://localhost:5000"

说明:

  1. 优点:配置简单,前端请求资源时可以不加任何前缀。
  2. 缺点:不能配置多个代理。
  3. 工作方式:上述方式配置代理,当请求了3000不存在的资源时,那么该请求会转发给5000 (优先匹配前端资源)


第二种配置方式:

  1. 第一步:创建代理配置文件

    在src下创建配置文件:src/setupProxy.js
    
  2. 编写setupProxy.js配置具体代理规则:

    const proxy = require('http-proxy-middleware')module.exports = function(app) {app.use(proxy('/api1', {  //api1是需要转发的请求(所有带有/api1前缀的请求都会转发给5000)target: 'http://localhost:5000', //配置转发目标地址(能返回数据的服务器地址)changeOrigin: true, //控制服务器接收到的请求头中host字段的值/*changeOrigin设置为true时,服务器收到的请求头中的host为:localhost:5000changeOrigin设置为false时,服务器收到的请求头中的host为:localhost:3000changeOrigin默认值为false,但我们一般将changeOrigin值设为true*/pathRewrite: {'^/api1': ''} //去除请求前缀,保证交给后台服务器的是正常请求地址(必须配置)}),proxy('/api2', { target: 'http://localhost:5001',changeOrigin: true,pathRewrite: {'^/api2': ''}}))
    }
    

说明:

  1. 优点:可以配置多个代理,可以灵活的控制请求是否走代理。
  2. 缺点:配置繁琐,前端请求资源时必须加前缀。

changeOrigin:控制服务器收到的请求头中Host字段的值


pathRewrite:重写请求路径

react脚手架配置代理解决跨域问题相关推荐

  1. 【react】使用代理解决跨域问题

    [react]使用代理解决跨域问题 参考文章: (1)[react]使用代理解决跨域问题 (2)https://www.cnblogs.com/guanpingping/p/10344197.html ...

  2. No ‘Access-Control-Allow-Origin‘ header is present on the requested resource Vue配置代理解决跨域问题

    前言 在进行web开发进行数据请求的时候常常会遇到跨域问题导致无法请求数据. 如果采用如下方法向http://localhost:4000服务器发送getStudents进行接口数据请求,在后端没有处 ...

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

    内容 跨域问题 解决跨域问题 vue cli配置代理 跨域问题 是由于违背了同源策略,同源策略规定了协议名.主机名.端口号必须一致 我们目前所处的位置是http localhost 8080,我们想向 ...

  4. nginx 代理解决跨域问题

    前言 可能在某些时候我们的前端项目需要访问一些外部的接口,比如Apollo等,而直接使用axios发送请求的话,会报跨域的错误,具体什么是跨域这里就不啰嗦了,如下图. 这个接口地址当然是正确的,可以放 ...

  5. reactjs脚手架配置http-proxy-middleware代理解决跨域问题

    reactjs脚手架配置http-proxy-middleware代理解决跨域问题

  6. 通过nginx反向代理解决跨域

    先写一个发送跨域请求的页面index.html <html> <head><title></title> </head> <body& ...

  7. Nginx反向代理解决跨域问题(个人学习总结)

    一.理解Nginx Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行.其特点是占有内存少,并发能力强,事实上nginx的并 ...

  8. Nginx 方向代理解决跨域问题-2

    概述 在浏览器端进行 Ajax 请求时会出现跨域问题,那么什么是跨域,如何解决跨域呢?先看浏览器端出现跨域问题的现象,如下图所示 什么是跨域问题? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览 ...

  9. nginx正向代理解决跨域问题

    原理 为了更好的理解nginx解决跨域的原理,首先来了解一下跨域是怎么样产生的. 因为浏览器的同源政策,就会产生跨域.比如说发送的异步请求是不同的两个源,就比如是不同的的两个端口或者不同的两个协议或者 ...

最新文章

  1. mysql oneproxy_利用oneproxy实现mysql读写分离搭建笔记
  2. Docker_基础知识
  3. SPU解析优化:模块设计与实现,SKU优化
  4. Linux - 查看、修改、更新系统时间(自动同步网络时间)
  5. 需求调研 现有系统梳理_对速度的需求,访问现有数据的速度提高了1000倍
  6. TotoiseSVN 使用参考文章
  7. mac基础操作:在Mac上怎么使用夜览
  8. 禁止电商平台二选一、遛狗必栓绳!5月起有这些新规定
  9. UVa11988-破损的键盘 Broken Keyboard
  10. 40天后Java 11将推出的功能有哪些,它们与Java 9和10的不同之处是什么?
  11. mac 卸载mysql_Mac 电脑卸载mysql数据库
  12. Mac上最好的白噪音软件:Noizio for Mac
  13. Java方法 根据经纬度计算距离
  14. HTPPS的域名部署项目请求头xx_xx问题解决
  15. 收集整理一些常用的PHP类库, 资源以及技巧. 以便在工作中迅速的查找所需...
  16. Excel: vlookup函数简介、使用注意事项及查找结果显示#N/A的解决方法
  17. IDEA插件系列(20):Grep Console插件——显示多颜色调试日志
  18. 散粉在哪个步骤用_定妆粉是在哪个步骤用
  19. 通过ADB命令行卸载或删除你的Android设备中的应用
  20. mysql 实现日期格式化(date_format)

热门文章

  1. 学成在线--14.使用RabbitMQ完成页面发布
  2. oracle索引分类与区分,深入理解Oracle表(6):堆组织表(HOT)和索引组织表(IOT)的区别...
  3. Django REST framework 序列化
  4. Doc2Bow简介与实践Demo
  5. 勾股定理python思路_趣叮咚编程数学揭秘:为什么勾股定理a+b=c?
  6. 微信红包问题:找出某个出现次数超过红包总数一半的红包的金额(面试题)
  7. honeywell扫码枪取消回车_霍尼韦尔条码扫描器常见问题与解决方法
  8. LeetCode17——Letter Combinations of a Phone Number(手机几个按键对应的字母(符号)组合)
  9. 富士 FinePix F401
  10. vue 相关技术文章集锦