1.npm安装这两个依赖 npm install http-proxy-middleware,
npm install axios
2.src下新建文件setupProxy.js配置跨域信息
// 配置跨域
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = function (app) {
app.use(
"/devApi",
createProxyMiddleware({
target: http://xxxxxxxxx,// 服务器请求地址
changeOrigin: true,//允许跨域
pathRewrite: {
"/devApi": '',//替换为空,根据自己项目地址,我这里为空
}
})
);
};
注意一下问题:
1.修改consfig文件夹下paths.js文件 proxySetup的路径指向我们新建的文件: setupProxy.js
文章图片
2.这里和大家探讨一下setupProxy.js内容,欢迎留言评论
devApi是拦截器里的baseURL 地址拼接上请求接口+浏览器地址 http://localhost:3000/devApi/login/
1.匹配找到devApi 后去做代理 http://xxxxxxxx
2.pathRewrite 讲dveApi 替换成 空内容 /devApi/login/ => /login/
3.替换成之后地址为 http://xxxxxxx/login/
这里给出拦截器request.js文件代码
import axios from "axios" // 引入 axios
// 1、创建实例
const service = axios.create({
baseURL: "/devApi", //不同环境下读取文件变量值
timeout: 3000,
headers: { 'X-Custom-Header': 'foobar' }
});
//2、请求拦截 // 添加请求拦截器
......
// 3、响应拦截 // 添加响应拦截器
......
http://www.axios-js.com/zh-cn/docs/ axios官网地址
api接口给请求代码
//api 请求处理
import service from "../utils/request";
//引入拦截器// 配置登录接口请求
export function Login(data) {
return service.request({
url: "/login/",
method: "post",
data: data,//post请求
})
}
【react|react项目http-proxy-middleware跨域问题】 到此我们就可以做正常的数据请求了,在需要的地方调用接口,就可正常的传递参数了,有什么问题留言评论哦,喜欢的一键三连!!!
推荐阅读
- tomcat|ajax跨域的几种解决方案
- html5|前端好找工作吗(现在前端还值得入行吗?)
- java|第十六课(Android打包发布)
- react|useContext详细说明与使用
- Java|Html如何获取登陆用户名
- axios|vue项目 使用axios封装request请求(一)
- Java毕业设计项目实战篇|Java项目:网上图书馆管理系统(java+jsp+servlert+mysql+ajax)
- React|React Native电商项目实战——开篇
- react|react3-Redux