React Native App with Expo - QR码未加载
React Native App with Expo - QR code not loading
我正在学习本教程:
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
我和我的 phone (Android) 在同一个网络上。没有VPN。我在我的应用程序的根文件夹中。它说 Loading dependency graph, done.
所以我知道它是 运行。
防火墙也为此关闭,这不是超时错误。
当我扫描二维码时:
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
如果您的设备和开发电脑未连接到同一服务器,请尝试在 chrome 中打开调试器,然后 select tunnel
。
运行 命令
expo start --tunnel
在我的例子中,我使用了 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",
....
....
}
在dependencies中的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
它将加载到您的 phone 上。
你可以从这里观看:
https://www.youtube.com/watch?v=eS8VULijAZ4
在此视频中,他使用的是 32.0.0,因此请注意更新版本(就我而言,38.0.0 适用于 09/2020)
只需从您的应用程序中删除 node_modules
文件夹,然后 运行 npm install
获取依赖项。
现在运行expo start
或npm start
,QR码现在将加载。
在节点 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 这次应该可以工作了
我正在学习本教程:
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
我和我的 phone (Android) 在同一个网络上。没有VPN。我在我的应用程序的根文件夹中。它说 Loading dependency graph, done.
所以我知道它是 运行。
防火墙也为此关闭,这不是超时错误。
当我扫描二维码时:
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
如果您的设备和开发电脑未连接到同一服务器,请尝试在 chrome 中打开调试器,然后 select tunnel
。
运行 命令
expo start --tunnel
在我的例子中,我使用了 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",
....
....
}
在dependencies中的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
它将加载到您的 phone 上。 你可以从这里观看: https://www.youtube.com/watch?v=eS8VULijAZ4
在此视频中,他使用的是 32.0.0,因此请注意更新版本(就我而言,38.0.0 适用于 09/2020)
只需从您的应用程序中删除 node_modules
文件夹,然后 运行 npm install
获取依赖项。
现在运行expo start
或npm start
,QR码现在将加载。
在节点 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 这次应该可以工作了