一直对 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 文件的存放可以在服务器和客户端之间进行选择。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。