React Native初始化无法正常工作。

4

我在React Native的Github上发布了这个问题,但被要求在此处发布

我按照网站上的说明操作,以启动React Native应用程序。

我收到以下消息 Genymotion Andriod模拟器引用错误: 找不到变量_fbbatchedBridge IOS模拟器无法执行JS调用:_fbBatchedBridge未定义 React Package Manager同步失败

React Native版本0.18.0 React Native CLI 0.1.10 Node 4.2.4

Mac Os X Yosemite XCode版本7.2

在研究这个问题时,许多人声称问题出在网络上。我打开了一个指向localhost:8081的浏览器,并得到一个页面,上面写着“Cannot GET /”。

目前,我在IOS模拟器上没有收到任何错误消息,只有一个空白的白屏。Android仍然在Genymotion和我的本地Android设备上都给出相同的错误提示。

终端或XCode中没有错误消息。

由于我不知道为什么它不起作用,甚至不知道从哪里开始排除故障,所以这非常令人沮丧。


你是在 Xcode 中运行这个吗? - Nader Dabit
是的,可以使用Xcode中的IOS(然后运行模拟器),也可以使用CLI命令来运行Android。 - nwilliams36
1个回答

1
这个错误是因为脚本服务器没有运行。
对于 Android 版本,除了执行 'react-native run-android' 来构建应用程序外,您还需要执行 'react-native start' 来启动脚本服务器。
在 XCode 中运行应用程序时,终端应该会自动启动,但在您的情况下似乎出现了一些问题。您尝试关闭终端窗口并重新开始吗?
============================== 当您第一次启动脚本服务器时,控制台应该会显示。
[18:07:15] <START> Building Dependency Graph
[18:07:15] <START> Crawling File System
[18:07:15] <START> Loading bundles layout
[18:07:15] <END>   Loading bundles layout (1ms)

React packager ready.

当您的客户端连接到服务器时,控制台应显示。
[18:07:25] <START> request:/index.android.bundle?platform=android&dev=true
[18:07:25] <START> find dependencies
[18:08:01] <END>   Crawling File System (45771ms)
[18:08:01] <START> Building in-memory fs for JavaScript
[18:08:04] <END>   Building in-memory fs for JavaScript (3382ms)
[18:08:04] <START> Building in-memory fs for Assets
...

如果第二部分没有显示出来,您可能需要检查是否可以使用端口: 输入图像描述 通过这个图片,您可以看到url应该是http://localhost:8081/index.android.bundle?platform=android&dev=true。如果您无法在浏览器中打开它,您可能需要检查防火墙设置或其他阻止访问的内容。

此外,您可能需要在本机代码中搜索index.android.bundle,以检查开发url是否已被修改。


我认为你关于脚本服务器的看法是正确的,但是无论我怎么做,都无法使其正常运行。我运行react-native start,终端在服务器启动时没有显示任何错误,但我仍然收到相同的错误。IOS根本不起作用。我确定问题出在我的电脑上,但我不知道是什么导致了阻塞。所以看起来我不能在我的机器上使用react-native,只能使用Native Script,它工作得很好,但目前社区支持不够好。 - nwilliams36
所以让我们逐步检查它。让我编辑答案并添加更多信息。 - YANG Lei
我重启了我的Mac并尝试了Android,现在似乎可以工作,甚至能够进行更改并重新启动应用程序,在模拟器中正常运行。但是在IOS上仍然无法获取任何内容,我只会得到一个空白屏幕。LocalHost:8081确实产生了一个结果,而http://localhost:8081/index.android.bundle?platform=android&dev=true找到了一个非常长的文件,因此我认为本地脚本服务器现在正在运行。我将确保始终使用新初始化的操作系统,并且可能是我从XAMPP切换回reactnative的本地主机导致了Android的问题。 - nwilliams36
感谢您的耐心,YANG。 - nwilliams36
iOS 版本怎么样? - Jeff Bootsholz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接