一直对 rn 充满了好奇,前段时间学习并实际使用 rn 来开发了一个简单的应用。第一步从环境搭建开始。
环境搭建
分别需要安装node,watchman,yarn 和 rn 命令行工具,推荐把 react-devtools 的 debug 工具也一并安装了
$ brew install node $ brew install watchman $ brew install yarn $ npm install -g react-native-cli $ npm install -g react-devtools // debug工具,可选
创建应用
只要运行下面的命令就可以创建一个名为 awesomeproject 的 rn 项目
react-native init awesomeproject
也可以指定使用 rn 版本号,
react-native init awesomeproject --version 0.47.0
该命令会创建一个 package.json 的文件,就是 npm 管理依赖的文件。这个文件中需要特别注意,在 dependencies 中申明的 react 和 rn 的版本一定要配对。有一次生成后的项目运行总是报错,百思不得其解,最后才发现是版本不匹配造成的。只能默默修改版本号,然后运行 npm install 才得以解决
{ "name": "awesomeproejct", "version": "1.0.0" "private": true, "scripts": { "start": "node node_module/react-native/local-cli/cli.js start" }, "dependencies": { // "react": "^15.6.1", // was installed by npm but not matched "react": "^16.0.0-alpha.12", // correct dependency version for react "react-native": "^0.47.0" } }
除了依赖管理文件以外,还有 ios 和 android 两个目录用来存放原生代码,以及一些初始化的 javascript 文件模板,以后会用到,就不一一列举了。
初次运行
初次运行是用来检查环境是否正确的简单的反馈,根据平台运行下列命令
$ react-native run-ios or $ react-native run-android
android 需要事先启动模拟器或者连接真机,ios 会自动启动模拟器。如果看到下面这个界面,恭喜你已经完成了环境的搭建,就可以开始应用层的开发了。
rn first launch
启动过程
到此结束也是可以的,但是还有一个问题需要解释一下,以便之后能够快速进入 rn 应用开发。如上节提到的启动命令,可以分解成两步。
步骤1. 启动服务器
一个步骤是启动开发服务器,它是用来提供运行所需的 javascript 文件的,当然也可以用下面的命令单独启动
npm start
服务会占用本地的8081端口,如果该端口被占用,需要依次运行下面两个命令来结束占用端口的进程
$ sudo lsof -i :8081 $ kill -9 <pid>
步骤2. 启动移动端
另一个步骤就是编译移动原生代码并安装运行,和平时开发原生移动应用是一样的。也可以到平台各自的目录下,ios或者android,用 ide 打开并编译运行。
启动完成并看到上面的截图的界面,就不用反复编译和启动移动端程序,每次代码修改只需在模拟器中按提示刷新即可看到修改内容。因为 rn 的主要的逻辑代码在服务器端的 javascript 中,就是说每次刷新都会拉取服务器上的最新代码并重新渲染用户界面。
当然,目前提到的整个过程仅指在开发阶段,生产环境中可以更自由, javascript 文件的存放可以在服务器和客户端之间进行选择。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问, 点击进行留言回复!!
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
vert实践五——Json?Protocol Buffer?FlatBuffers?
[基于tensorflow的人脸检测] 基于神经网络的人脸检测8——验证训练好的神经网络
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
网友评论