1.创建模板工程
经过上一篇讲解了 React Native 开发平台的环境搭建,我们接下来要讲的是让我们一起创建第一个React Native应用,我们接下来在终端使用命令行创建我们的第一个新的应用。他会生成一个包含React Native、iOS 和Android的全新模板工程。
1. cd ~路径。
2.react-native init FirstProject
成功创建之后的项目有哪些文件如 图(1).1
图中 ios/ 和android/ 文件目录包含了各自平台的相关开发模板,index.ios.js 、 index.android.js 分别是各自平台的入口文件,通过npm安装的依赖文件通常会被放在 node_modules/目录下。
2.在iOS平台运行React Native 应用
如果你是一名iOS开发者那么这一步,想必创建完项目第一时间会打开iOS文件运行一把,内心小激动。
用Xcode 打开FirstProject.xcodeproj 文件,你会发现有一个运行的按钮,如图(2).1
我们现在选择的是iPhone 6模拟器,点击运行如图(2).2
React Native的iOS项目在编译时会先运行一个shell脚本,其作用有两个:从Terminal启动了一个Node.js的server用于React Native调试将React Native的资源文件打包放在编译目录下。 包管理器就绪之后,iOS模拟器运行默认的应用程序,一切运行顺利的话将会出现我们期待已久的iOS模拟器 如图(2).3
我们在编写过程中,想要查看效果的时候不需要我们每次运行,我们只需要选中模拟器 Cmd + R 就可以,但是需要保证包管理器一直处于运行状态,如果管理器奔溃退出了,可以通过终端启动。
cd ~工程路径
npm start 启动包管理器
2.1 部署到iOS 设备(真机调试)
前面一篇中我们讲到了怎么在ios 开发中需要用到开发者账号,我们真机调试需要用到开发者账号,在https://developer.apple.com/account/ios/certificate/ 注册我们的APPID 如图(2.1).1,创建的app id 为com.rn.rnapp
接下来我们需要把我们的真机通过链接数据线 iTunes获取到手机的UDID,添加到我们的开发者账号中,如图 (2.1).2
然后创建我们的测试证书和配置文件如图 (2.1).3 然后一步步往下操作 图(2.1).4
创建完证书,下载完毕双击打开证书和配置文件,它们分别会拷贝到Xcode 和钥匙串中,我们在Xcode中可以选择我们刚刚创建的证书和配置文件 如图(2.1).5 再次选择真机就可以运行到手机上,以便于我们真机调试。
3.在Android 平台运行React Native应用
在Android 平台运行React Native应用,首先讲解下安卓模拟器的安装步骤
需要做两件事:
1.打开模拟器。
2.运行程序。
之前我们在第一篇环境搭建中讲到运行AVD 管理的方法
android avd //选择模拟器 然后点击Start... 按钮
另外,也可以通过命令行运行模拟器,显示所有可用的模拟器类型:
emulator -list-avds
然后我们通过名字和@前缀来运行它们,例如:模拟器名字:testandroid 我可以这样运行它:
emulator @testandroid然后只需要在工程的跟目录运行:
react-native run-android
3.1 安卓真机运行React Native.应用
吐槽:在写这一篇博客之前,我运行安卓程序的时候,出现了各种错误。1.首先把我的红米手机调成开发者状态,由于本人没有做过安卓开发,这么简单的问题,硬是找了半天的问题。2.比如gradle 版本过低,需要下载新的grale新版本,搞了半天好不容易安装成功。
使用数据线连上真机.在根目录中直接使用命令
react-native run-android
真机运行结果如图(3.1).1
注:如果真机测试,安装一次程序,如果有修改,就不需要每次插上数据线重新运行,但是首先你要做这几步:
第一步:需要你的电脑的链接的网络跟真机链接的网络一致,然后在程序里设置你电脑的IP 地址 首先摇一摇出现如图(3.1).2 选择 Dev Settings
设置IP地址图(3.1).3
设置好以后 ,我们修改下我们的小程序。比如我们把Welcome to React Native! 修改成Welcome to BeiJing我们再次摇一摇 出现 图(3.1).2 我们选择第一个选项 Reload 刷新下,出现 如图(3.1).4界面刷新程序。
效果如图(3.1).5
有了这种逆天的功能我们就可以做热更新。
关于React Native创建第一个应用讲到这里已经结束了。我也是第一次尝试去做,其中也遇到了很多错误,如果有不明白的地方,可以给我留言,或者给我发私信 我的QQ:963201050,大家一起探讨。
补充 :Facebook推荐第三方安卓模拟器 Genymotion 下载:https://www.genymotion.com/download/