我找不到有关如何安装和运行“ https://github.com/facebook/react- native/tree/master/Examples ”中提供的其他示例之一的说明,例如“ https://github.com ” 。 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
它只需要按照“ 入门指南”进行即可,除了必须npm install在react-native目录中运行。
npm install
然后,例如运行带有Xcode的Movie Project。
如果您想“隔离” MovieProject或其他React-Native示例项目,最简单的方法是初始化一个新的React Native应用(react- native init MyAppName),然后将示例项目(在Movie Project下面的示例中)的JS文件复制到新的应用程序文件夹。
react- native init MyAppName
然后,别忘了编辑您的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];