【重点突破】—— react使用http-proxy-middleware反向代理跨域

create-react-app脚手架低于2.0版本时候,可以使用对象类型

"proxy": {
    "/api": {
      "target": "http://localhost:5000",
      "changeOrigin": true
    }
}

最新的create-react-app脚手架2.0版本以上只能配置string类型

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

官网给了新的使用方式,在src下新建文件setupProxy.js加下面代码,无需单独应用,webpack会自动引入文件。 

注意:1. 用typescript文件名结尾.ts会导致文件不生效!!!切记.js文件结尾

       2.  package.json内容发生了修改,必须重启应用,才能生效。

第一步 安装 http-proxy-middleware

npm install http-proxy-middleware  

顺便安装一下 axios ,不用也可以,用fetch也一样。

npm install axios

  

第二步 npm run eject 命令 配置暴露出来

npm run eject
or
yarn eject

  

第三步 src下创建一个 setupProxy.js文件

const proxy = require("http-proxy-middleware");

// console.log(1);
module.exports = function(app) {
      app.use(
           proxy("/api", {
                 target: "http://m.kugou.com?json=true",
                 changeOrigin: true
           })
      );
      // app.use(
         // proxy("/fans/**", {
                 // target: "https://easy-mock.com/mock/5c0f31837214cf627b8d43f0/",
                 // changeOrigin: true
         // })
     // );
};

 

第四步 需要发送请求的地方 使用

async componentDidMount(){
     let data = await axios.get(‘/api?json=true‘);
     let {data:{data:d,banner}} = data;

     let arr = [...banner,...banner];
     this.setState({
          iw:this.refs.banner.offsetWidth,
          arr,
          data:d
     });
}


注:转载自乡村里的一股清流博客

原文地址:https://www.cnblogs.com/ljq66/p/12257070.html

时间: 2024-08-30 05:40:37

【重点突破】—— react使用http-proxy-middleware反向代理跨域的相关文章

CORS跨域与Nginx反向代理跨域优劣对比

最近写了一些关于前后端分离项目之后,跨域相关方案的基本原理和常见误区的帖子,主要包括CORS和Nginx反向代理.这两种方案项目中都有在用,各有优缺,关于具体使用哪种方案,大家的观点也不大一致,本文主要就此展开一下,从前后端及服务器配置.安全性.移植灵活性.扩展性等方面详细对比一下两种方案的优缺,以便于后期在方案选型上对大家有所帮助. 前端配置 CORS方案:跨域时部分浏览器默认不携带cookie,因此为了携带cookie需要设置一下xmlhttprequest的withCrendetails属

vue-cli反向代理跨域请求

最近一直在通过 webpack + Vue-CLI 来学习,想跨域调用接口数据.奈何因同源策略,浏览器限制,导致资源请求一直不成功. 现在整理一下思路 - - 跨域: 指浏览器受同源策略限制,不能够访问不同域的页面(脚本). 同源策略限制已下行为: LocalStorage 和 IndexDB 无法读取 DOM 和 JS 对象无法获取 Ajax请求发送不出去(一个XMLHttpRequest对象的请求) 什么是同源策略? Netscape(网景)公司的一个安全策略.所谓的源指的是 Protoco

Forward Proxy & Reverse Proxy | 正向代理 和 反向代理

对请求和响应内容不做修改的转发的服务器,被称为代理服务器.代理服务器分为两种类型:正向代理 和 反向代理. 正向代理:面向互联网,从更广范围获取信息的代理. 反向代理:面向内部,一般用于某企业的网站的前端的代理.反向代理能承担负载均衡,身份认证,内容缓存的任务.这些功能在反向代理上面实现会显得很自然. 正向代理: 如果使用过 vpn 或者 shadowsocks 等FQ工具访问 Google,那么就是在使用正向代理服务器. 下面的图例解释了正向代理的使用.正向代理服务器在互联网中扮演用户的角色,

正向代理、反向代理的详细解析

在此注明,本文转载于:http://z00w00.blog.51cto.com/515114/1031287 一.正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forward)是一个位于客户端[用户A]和原始服务器(origin server)[服务器B]之间的服务器[代理服务器Z],为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获

图解正向代理、反向代理、透明代理

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://z00w00.blog.51cto.com/515114/1031287 套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理

图解正向代理、反向代理、透明代理(转)

转自:http://www.cnblogs.com/Anker/p/6056540.html 正向代理:代理服务器代替客户端想服务器发送请求 反向代理:客户直接访问反向代理服务器,反向代理服务器通过反向代理获取服务器内容,然后返回给客户端 透明代理:修改包,中转,透明 套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代

正向代理,反向代理和透明代理的区别

一.正向代理(Forward Proxy) 一般情况下,如果没有特别说明,代理技术默认说的是正向代理技术.关于正向代理的概念如下: 正向代理(forward)是一个位于客户端[用户A]和原始服务器(origin server)[服务器B]之间的服务器[代理服务器Z],为了从原始服务器取得内容,用户A向代理服务器Z发送一个请求并指定目标(服务器B),然后代理服务器Z向服务器B转交请求并将获得的内容返回给客户端.客户端必须要进行一些特别的设置才能使用正向代理.如下图1.1 (图1.1) 从上面的概念

图解正向代理、反向代理、透明代理(反向代理可以实现负载均衡)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://z00w00.blog.51cto.com/515114/1031287 套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.本文就是针对这三种代理来讲解一些基本原理和具体的适用范围,便于大家更深入理

[转]图解正向代理、反向代理、透明代理

上面的答案都说的很好,我画了张图能更直观地解释为何反向代理叫“反向“代理<img src="https://pic1.zhimg.com/480c1c45d2565e2f92fd930d25b73a18_b.jpg" data-rawwidth="522" data-rawheight="660" class="origin_image zh-lightbox-thu