Expo无法从json-server node.js获取数据

问题描述 投票:0回答:1

我最近开始学习本机反应。我有这样的问题。

我启动了Expo应用程序,并且它可以正常工作,我转到了从json服务器获取数据的子项目,那里是空的。写入网络请求失败。据我了解,无法读取服务器中的数据。

这里更详细。

首先,运行json服务器,在命令提示符下键入json-server --watch db.json -p 3001。这一切开始了。我将进入浏览器并输入localhos:3001 /图书。并显示数据。据我了解,它可以回答请求。

[下一步,运行本机反应。一切加载完毕,并在Metro bundler浏览器(localhost:19002)中运行。

有三种在手机上启动程序的方式:

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

2.lan和计算机的ip地址,据我通过wi-fi了解。由于我没有wifi路由器,因此我尝试通过计算机提供wifi。我连接了调制解调器。并开始共享wifi。我连接了电话并启动了它。它根本没有开始。默认情况下,处于lan模式的计算机的IP地址从调制解调器(192.168.8.100)和电话(192.168.43.216)获取IP地址。简而言之,电话和计算机必须位于同一局域网中。我想也许我会再选一个。它将用作Wi-Fi路由,而不是路由器。然后,我将正在使用的计算机和电话连接到该计算机。我配置了IP地址。仍然无法启动。我认为我做错了什么,我不是局域网专家。如果您有任何想法,请提供帮助。

3.tunnel不太了解如何使用。我决定通过电话共享wi-fi并建立一个接入点。连接我的电脑并运行。它似乎已经开始,但仍不显示数据。

[请帮助。

1)形成没有wifi路由器的局域网连接。

2)如何从json服务器读取数据到手机。

P.s。我杀了3天试图弄清楚。

node.js json react-native expo lan
1个回答
0
投票

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

接下来,我在终端中打开一个新选项卡,然后运行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,则可以在设备开发中访问它。

© www.soinside.com 2019 - 2024. All rights reserved.