Expo无法从json服务器node.js获取数据



我最近开始学习本地反应。我有这样一个问题。

我启动Expo应用程序,它就工作了。我转到从json服务器获取数据的子项,那里是空的。写入网络请求失败。据我所知,服务器上的数据不会被读取。

下面是更详细的内容。

首先,运行json-server,在命令提示符下键入json-server--watchdb.json-p 3001。一切都开始了。我将进入浏览器并键入localhos:3001/books。数据出现了。据我所知,它满足了我的要求。

接下来,运行react native。所有内容都在metro bundler浏览器(localhost:19002(中加载和运行。

在手机上启动程序有三种类型:

1.本地和地址127.0.0.1,据我所知,它需要通过usb电缆连接和运行。我尝试使用此方法启动应用程序。但数据并未出现。写入网络请求失败。

2.局域网和电脑的ip地址,我通过wi-fi了解到这一点。由于我没有wifi路由器,我试着从电脑上提供wifi。我连接了一个调制解调器。它开始共享无线网络。我接通了电话并启动了它。它根本没有启动。局域网模式下计算机的IP地址默认为调制解调器(192.168.8.100(和电话(192.168.43.216(的IP地址。简而言之,电话和计算机必须在同一个本地网络上。如果我再参加一次比赛,我想可能会。它将被用作Wi-Fi路由器,而不是路由器。然后我会把我的工作电脑和手机连接到它上。我配置了ip地址。仍然没有开始。我认为我做错了什么——我不是局域网专家。如果你有任何想法,请帮忙。

3.隧道不太懂得如何使用。我决定共享手机的无线网络,并建立一个接入点。连接我的计算机并运行。它似乎已经开始,但仍然没有显示数据。

请帮帮我。

1( 在没有wifi路由器的情况下形成局域网连接。

2( 如何从json服务器向手机读取数据。

附言:我花了三天时间试图弄清楚。

我从README中的"Getting Started"中复制了示例,然后运行npx json-server --watch db.json -p 3001。然后我去了http://localhost:3001/posts/1在我的浏览器中,它按预期工作。

接下来,我在terminal中打开了一个新的选项卡,并运行npx ngrok http 3001来公开创建一个隧道,以便从任何位置访问端口3001处的http服务器。隧道启动后,我看到了以下信息:

ngrok by @inconshreveable                                                                     (Ctrl+C to quit)
Session Status                online
Session Expires               7 hours, 58 minutes
Version                       2.3.35
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://ef4b99ca.ngrok.io -> http://localhost:3001
Forwarding                    https://ef4b99ca.ngrok.io -> http://localhost:3001

我打开了https://ef4b99ca.ngrok.io/posts/1在我的浏览器中,它按预期工作(当你读到这篇文章时,这对你来说不起作用,因为那时我已经关闭了ngrok隧道和我的json服务器(。

如果你遵循这些步骤并在应用程序中使用隧道URL,你将能够在开发过程中从设备访问它。

最新更新