开发过程中如何在expo应用程序中模拟离线模式

sid*_*ava 7 android react-native expo

我正在开发一个博览会应用程序,并且正在使用一些缓存功能。为了测试它们,我必须在离线模式下测试我的应用程序,但如果我关闭我的 WiFi(系统或设备),我的应用程序根本无法连接到 Metro 服务器。即使在调试器中将网络设置设置为离线也不起作用,应用程序再次完全无法加载。如何在我的设备中模拟离线模式,同时仍然能够连接到 Metro 捆绑程序?

小智 7

这对我有用

  1. 通过 USB 电缆连接您的物理 Android 设备即可执行此操作。
  • 确保您启用了“开发者模式”。
  • 确保您已启用“USB 调试已启用”。
  • 确保您已启用“通过 USB 安装”。
  1. 使用 启动本地主机上的博览会npx expo start --localhost

  2. a终端打开 Android

  3. 接受 Android 手机上的权限

  4. 再次按下a终端并等待 expo Go 更新。

  5. 从 Android 设备安装从终端下载的 expo Go。

  6. 当您在移动设备上打开开发页面时,请选择“使用 expo Go 打开”选项。

  7. 在您的 expo Go 上享受离线访问。


Ale*_*lko 4

在找到答案之前,我为此苦苦挣扎了一段时间。通过 USB 连接!到目前为止,我只在 iPhone 上测试过此功能,但也应该适用于 Android。

\n

我应该注意的是,我正在使用 EAS Build,但这也应该适用于基本的 Expo。

\n

使用基本的开发方法(expo start --dev-client),客户端应用程序和服务器通过本地路由器连接。服务器自动侦听本地 LAN 中可用的 IP 地址(这就是二维码)。这对于开发离线优先功能没有帮助,因为一旦您断开手机与 WiFi 的连接,连接就会丢失,开发应用程序也会关闭。为了进行离线开发,您可以执行以下操作:

\n
    \n
  1. 运行以下命令:ifconfig -a。记下列表中最大数量的网络接口,en7例如
  2. \n
  3. 用 USB 线连接手机
  4. \n
  5. 重新运行ifconfig,两个新的网络接口应该显示最高的数字。取第二高的。例如en8。记下\xe2\x80\x99的inet ip地址
  6. \n
  7. export EXPO_DEVTOOLS_LISTEN_ADDRESS=<ip address here>在将运行开发服务器的 shell 中运行
  8. \n
  9. 跑步export REACT_NATIVE_PACKAGER_HOSTNAME=<ip address here>
  10. \n
  11. expo start --dev-client像平常一样
  12. \n
  13. 通过二维码公布的 IP 地址现在将是您在上面输入的 USB 连接的 IP,因此移动客户端应用程序将通过 USB 电缆到达您计算机上的开发服务器。
  14. \n
  15. 根据需要随时打开手机的飞行模式。Metro、热重载、调试,一切都保持正常运行,而且实际上通常比通过路由器快得多。享受!
  16. \n
\n