React 使用 Proxy 代理create-react-app
在create-react-app 中配置proxy代理
proxy,默认为NULL,类型为URL,一个为了发送http请求的代理 在平时开发时,尤其前后端分离时,需要假数据来进行模拟请求,这个时候就需要proxy
代理来处理
create-react-app < 2.0
package.json 中配置
-
"proxy":{
-
"/api/**":{
-
"target":"https://easymock.spiritling.pub/",
-
"changeOrigin": true
-
}
-
}
create-react-app > 2.0
package.json 中配置(不推荐)
"proxy": "https://easymock.spiritling.pub/",
配置文件 /src/setupProxy.js
(推荐)
将 create-react-app
解包后,可以在 config
文件夹下找到配置
在 config/path.js
中存在 proxySetup: resolveApp('src/setupProxy.js'),
而 proxySetup
是只在 webpackDevServer.config.js
文件中使用,也就是说只在开发时使用
所以,可以在 /src/setupProxy.js 中配置
首先安装 http-proxy-middleware
npm install http-proxy-middleware -D
然后文件配置
-
const proxy = require('http-proxy-middleware');
-
module.exports = function (app) {
-
app.use(
-
'/api/v1/',
-
proxy({
-
target : 'https://easymock.spiritling.pub/',
-
changeOrigin : true, // 设置跨域请求
-
PathRewrite : {
-
'^/api/v1' : '' // 将/api/v1 变为 ''
-
}
-
})
-
);
-
};
使用例子
01
-
const proxy = require('http-proxy-middleware');
-
module.exports = function (app) {
-
app.use(
-
'/api/v1/',
-
proxy({
-
target : 'https://easymock.spiritling.pub/',
-
changeOrigin : true
-
})
-
);
-
};
游览器中请求为 https://example.com/api/v1/login
则经过代理后可以转为 https://easymock.spiritling.pub/api/v1/login
02
-
const proxy = require('http-proxy-middleware');
-
module.exports = function (app) {
-
app.use(
-
'/api/v1/',
-
proxy({
-
target : 'https://easymock.spiritling.pub/',
-
changeOrigin : true,
-
PathRewrite : {
-
'^/api/v1' : ''
-
}
-
})
-
);
-
};
游览器中请求为 https://example.com/api/v1/login
则经过代理后可以转为 https://easymock.spiritling.pub/login
http-proxy-middleware
新版本 ≧ 1.0.0
在新版本大于等于 1.0.0 时使用会出现如下问题
proxy is not a function
也就是说 http-proxy-middleware
或者 setupProxy
会出现报错 proxy is not a function
所以需要使用新版本的写法才可以
-
const { createProxyMiddleware } = require('http-proxy-middleware');
-
-
module.exports = function (app) {
-
app.use(createProxyMiddleware('/api/v1', {
-
target : 'https://easymock.spiritling.pub',
-
changeOrigin : true,
-
ws: true,
-
pathRewrite : {
-
'^/api/v1' : ''
-
},
-
}));
-
};
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhciabgf
系列文章
更多
同类精品
更多
-
抖音国际版要用什么加速器能流畅刷Tiktok的加速器
TK小达人 08-02 -
photoshop一直显示正在载入怎么办
PHP中文网 06-16 -
EhViewer(E绅士)最新版_ehviewer白色版彩色版_Ehviewer显示网络错误怎么办?e站进不去了怎么办
Evanpatchouli 09-19 -
微信获取用户openid失败怎么办
PHP中文网 03-26 -
ipv4和ipv6显示未连接是什么意思原因
PHP中文网 06-22 -
excel工具栏变成英文了怎么办
PHP中文网 06-20 -
excel表格日期变成井号了怎么办
PHP中文网 06-18 -
pr做好的序列不见了怎么办
PHP中文网 05-12 -
B站在海外打不开怎么办B站打不开解决办法
sixfast6 07-14 -
微信小程序自动跳出来怎么办
PHP中文网 06-11