繁体   English   中英

如何通过 usb 配置在移动设备上运行的 React 电容器应用程序,使 http 请求 sendbird 作为本地主机而不是其 IP 地址?

[英]How to configure a react capacitor app running on mobile by usb to make http request to sendbird as localhost instead of its IP address?

我有一个 React webapp,我已经使用 Capacitor 将它转换为本机应用程序。 对于实时重新加载,我必须按如下方式编辑 capacitor.config.json:

const config: CapacitorConfig = {
  //
  webDir: 'build',
  bundledWebRuntime: false,
  server: {
    url: 'http://192.XXX.XXX:3000',
    cleartext: true
  },
};

在应用程序向 sendbird 发出初始化请求之前,这一切正常。 我收到错误消息:'SendBirdCall 需要 https 连接,'localhost' 或 '127.0.0.1' 除外。 我试图设置一个 express https 服务器但失败了。 后来我使用 ngrok 创建了两个通道——一个用于服务器,一个用于应用程序。 sendbird 请求成功,但 graphql websocket 失败,因为 ngrok 不支持 websocket 链接,还尝试了 tcp 链接,但也失败了。

我有另一个使用 Sendbird React Native Quickstart 项目创建的应用程序,我不需要为此进行任何配置。 为了使用本地主机从通过 usb 连接的移动设备发出 sendbird 请求,同时还能够建立 ws 连接,可以做些什么?

尝试更改url

const config: CapacitorConfig = {
  ...
  server: {
    url: 'http://localhost:3000',
    cleartext: true
  },
};

连接物理设备后执行以下操作:

cd $ANDROID_HOME/platform-tools
./adb reverse tcp:3000 tcp:3000

其中$ANDROID_HOME是 Android SDK 目录。

暂无
暂无

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

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