如何运行 React-Native 示例?

IT技术 ios facebook reactjs react-native
2021-05-08 09:45:27

我找不到有关如何安装和运行“ https://github.com/facebook/react-native/tree/master/Examples ”中提供的其他示例之一的任何说明,例如“ https://github”。 com/facebook/react-native/tree/master/Examples/Movies '。

教程只告诉你去做

react-native init AwesomeProject

它抓取“ https://github.com/facebook/react-native/tree/master/Examples/SampleApp ”。


如果我克隆整个“react-native”存储库,然后运行

npm install
npm start

从根文件夹(即“/react-native”),然后在 Xcode 中打开“/react-native/Examples/Movies/Movies.xcodeproj”,并运行该项目,似乎构建良好。模拟器出现,显示应用程序的“电影”介绍屏幕,但随后出现红色死亡屏幕,并打印出以下内容:

:0

和终端,其中“npm start”在根文件夹中运行,打印出:

Error: EISDIR, read
    at Error (native)
[02:35:02] <START> request:/Examples/Movies/MoviesApp.includeRequire.runModule.bundle
4个回答

它应该只需按照入门教程即可工作,但您必须npm install在 react-native 目录中运行。

然后只需运行例如带有 Xcode 的电影项目。

如果您想“隔离” MovieProject 或其他 react-native 示例项目,简单的方法是初始化一个新的 react native 应用程序 ( react-native init MyAppName) 并将示例项目中的 JS 文件(在下面的电影项目示例中)复制到新的应用程序文件夹。

然后不要忘记编辑您的 iOS/AppDelegate.m 文件。

您必须编辑 2 行:

jsCodeLocation = [NSURL URLWithString:@"http:/localhost:8081/index.ios.bundle"];

经过:

jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/MoviesApp.bundle"];

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                  moduleName:@"MyAppName"
                                               launchOptions:launchOptions];

经过:

RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
                                                  moduleName:@"MoviesApp"
                                               launchOptions:launchOptions];

一、满足入门指南上的要求

然后,查看React Native存储库并在其中运行以下内容:

  1. npm install
  2. open Examples/Movies/Movies.xcodeproj

如果由于链接错误导致编译出错,删除派生数据可能会有所帮助。退出 Xcode,删除/Users/{you}/Library/Developer/Xcode/DerivedData,然后重新打开 Xcode。

此外,您可以通过运行以下命令来运行 UIExplorer 应用程序的 android 版本:

./gradlew :Examples:UIExplorer:android:app:installDebug
./packager/packager.sh

或这个:

./gradlew :Examples:Movies:android:app:installDebug
./packager/packager.sh

对于电影示例(应该在 react-native 文件夹上运行)。

此外,您可以运行 gradle 守护程序来加快 Android 的构建时间。

你必须在你的终端中安装 node.js

brew install node

ReactNative 使用 Node.js 在项目中构建 Javascript 代码。

然后你需要 Watchman,一个来自 Facebook 的文件观察者

brew install watchman

当你的代码发生变化时,React Native 使用 Watchman 来重建你的代码。

最后一件事是在 react-native 文件夹中安装和运行带有终端窗口的节点。

npm install
npm start

现在您可以从 Xcode 中的 react-native/Examples 文件夹中打开一个项目,然后构建并运行它。