繁体   English   中英

如何在create-react-app中设置代理表

[英]how to setup proxy table in create-react-app

我有一个API后端服务器,该前端由create-react-app的另一台服务器提供服务,我需要将一组特定的请求从CRA服务器代理到API服务器。

我正在尝试使用http-proxy-middleware 对于只有一个规则的简单用例,它就可以正常工作。 但是我不能一次使用多个规则。

我一直在关注文档,并提出了类似这样的内容( setupProxy.js内容)。

 const proxy = require('http-proxy-middleware'); const proxyTable = { '/auth/google': 'http://localhost:5000/', '/api/*': 'http://localhost:5000' }; const options = { target: 'http://localhost:3000', router: proxyTable }; module.exports = function(app) { app.use(proxy(options)); }; 

首先,我不知道optionstarget属性,但是根据文档,它为每个未在proxyTable指定的请求设置目标url。 好吧,我只想保留所有其他请求,因此我将值设置为与运行CRA的地址相同(不确定这是否是正确的方法,文档尚不清楚)。

我遇到的问题是,如果我尝试将请求路由回去,则会出现此错误。

Error occurred while trying to proxy request / from localhost:3000 to http://localhost:3000 (EADDRNOTAVAIL)

我不确定我是否理解此错误。 如果我更改target的值,则会出现一些与此错误类似的其他错误消息,并且该提示似乎起作用。

任何帮助,将不胜感激。

好的,我通过多次使用代理中间件找到了解决方法-每个规则一个。

对于任何有兴趣的人,

 const proxy = require('http-proxy-middleware'); module.exports = function(app) { app.use(proxy('/api/*', { target: 'http://localhost:5000' })); app.use(proxy('/auth/google', { target: 'http://localhost:5000' })); }; 

但是代理表仍然无法正常工作,因此任何知道如何使其工作的人都请分享。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM