【发布时间】:2020-04-05 05:41:09
【问题描述】:
我正在使用 expo 开发一个 react-native 应用程序。该应用程序运行良好。我可以 npm start 运行 Metro Builder,然后直接在模拟器和 iOS 设备上运行我的应用程序。
我做了两件事。
- 我将 expo 版本升级到最新版本 - 3.17.15
- 我重新启动了我的笔记本电脑。
在这 2 项更改之后,我仍然可以执行 npm start 而不出现任何问题。但是,当我尝试在 iOS 模拟器中打开/运行该应用程序时,它卡在了捆绑包加载中。事实上,它无法仅获取捆绑文件。
我认为这是一个网络问题,模拟器/设备无法访问http://127.0.0.1:19000 但是,当我在正常工作的浏览器中访问该 URL 时。
现在,当我尝试通过模拟器访问该捆绑网址时:
http://127.0.0.1/node_modules/expo/AppEntry.bundle
浏览器从不加载事物并超时。
我已经试过了:
- 清理缓存 - npm start --reset-cache
- 删除 ~/.expo 和 ~/project/.expo 中的 .expo 文件夹
- 从局域网更改模式 -> 隧道。
- 将全局 expo-cli 升级到最新版本。
- 删除项目中的node_modules目录~/project/node_modules
- 通过执行 - npm install 重新安装 node_modules。
重要提示 - 在我当前的应用程序出现此问题后,我决定生成一个新的空白 expo 应用程序并运行它。结果相同。未加载捆绑包。我还记得过去发生在我身上的类似事情,但不记得我是如何解决的。
我的网络是通过我的手机的热点。同一个网络过去一直工作到昨天没有任何问题。所以不确定重启是否导致某些设置恢复。
任何解决此问题的帮助都会非常有帮助。
【问题讨论】:
-
扫二维码有用吗?
-
不。所以我在某处读到我可以将模式更改为从局域网隧道,它会起作用。但两者都不起作用。
-
问题出在世博会,世博会前几天有新的更新,你的SDK和CLI是最新版本吗?
-
是的。 SDK - 37. Expo expo-cli@3.17.16。有没有办法轻松找出捆绑包是否成功生成。因为当我上网时-它确实在网络中打开了应用程序..并非一切正常。没关系。但应用会打开。
-
这里还有一些额外的信息:在调试模式下启动 expo 应用程序后,我确实收到了 AppEntry.bundle ::ffff:127.0.0.1 - - [06/Apr/2020:05 :29:25 +0000] "GET /node_modules/expo/AppEntry.bundle?platform=ios&dev=true&minify=false&hot=false HTTP/1.1" 200 - "-" "Expo/2.15.3.10122 CFNetwork/1125.2 Darwin/19.4.0 "
标签: ios react-native expo