React Native 使用代理获取本地服务器



在我的反应本机应用程序中,我正在尝试对本地后端服务器执行fetch。在我的package.json里,我把"proxy": "http://localhost:3000"

.我的抓取看起来像:

fetch('/')
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.log)

它捕获错误

[类型错误: 网络请求失败]


当我删除代理并在获取中手动输入地址时,它可以工作,我的服务器收到 GET 请求。

fetch('http://localhost:3000')
.then(response => response.json())
.then(json => console.log(json))
.catch(err => console.log)

这里有两点:

  • package.json中设置proxy是create-react-app的一个功能,它包装了webpack开发服务器的代理。 react-native使用Metro而不是Webpack作为捆绑器,并且不支持设置本地代理。

  • 与 Web 不同的是,react-native 中的 http 客户端没有当前host。因此,如果您使用fetch('/'),它将不知道要将请求发送到哪个域或 IP 地址。

您好,您可以使用您的网络IP地址来使用本地服务器,例如本地主机更改您的IP地址,您可以调用您的服务器,例如 http://192.xxx.x.xxx:3000

相关内容

  • 没有找到相关文章

最新更新