我正在关注本教程:
https://blog.expo.io/building-a-react-native-app-using-expo-and-typescript-part-1-a81b6970bb82
yarn global add create-react-native-app
create-react-native-app my-app-name
cd my-app-name
yarn start
我与手机(Android)位于同一网络上。没有VPN。我在应用程序的根文件夹中。它说Loading dependency graph, done.
,所以我知道它正在运行。
防火墙也已关闭,这不是超时错误。
当我扫描QR码时:
Something went wrong. Could not load exp://10.0.0.21:19000.
可能是我的问题吗?
编辑
新错误:Uncaught Error: java.net.ConnectException: Failed to connect to /10.0.0.21.19000
答案 0 :(得分:1)
尝试在chrome中打开调试器,如果您的设备和开发PC未连接到同一服务器,则选择tunnel
。
答案 1 :(得分:1)
在节点 v12.18 上。在 package.json 降级 expo 和 react-native 连接器中。 38 个作品而不是 40 个作品。
"expo": "~38.0.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-38.0.0.tar.gz",
然后删除 node_modules 并重新安装它们
rm -rf node_modules
npm install
然后再次运行:
npm start
QR 应该可以工作了
答案 2 :(得分:0)
在我的情况下,我使用了 tunnel ,而sdk版本存在问题-我有39.0.0,我应该只使用36、37或38-这就是我收到的消息来自expo,所以我要做的就是进入 app.json 文件,并在expo中添加以下行(或者如果已经存在,则对其进行更改):
"sdkVersion": "38.0.0"
,它看起来应该像:
"expo": {
"name": "DoneWithIt",
"slug": "DoneWithIt",
"sdkVersion": "38.0.0",
"version": "1.0.0",
....
....
}
在依赖项的 package.json 文件中,在“ expo”和“ react-native”中将版本更改为38.0.0:
"dependencies": {
"expo": "~38.0.0",
"expo-status-bar": "~1.0.2",
"react": "16.13.1",
"react-dom": "16.13.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-
38.0.0.tar.gz",
"react-native-web": "~0.13.12"
}
然后运行:
cd yourAppName
npm start
,它将被加载到您的手机上。 您可以从这里观看: https://www.youtube.com/watch?v=eS8VULijAZ4
在此视频中,他使用32.0.0,因此请注意更新的版本(在我的情况下,38.0.0对于09/2020来说是很好的选择)
答案 3 :(得分:0)
只需从应用程序中删除node_modules
文件夹,然后运行npm install
即可获取依赖关系。
现在运行expo start
或npm start
,QR码将立即加载。
答案 4 :(得分:-1)
运行命令
expo start --tunnel