【React Native十日谈】第一日: 开发环境搭建

前端之家收集整理的这篇文章主要介绍了【React Native十日谈】第一日: 开发环境搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文本转载自我的一个学生涅磐广广的简书上的系列文章,本人进行重新编辑。
原文链接: React Native01 - 开发环境搭建

前言

本篇的主要内容是 React Native 的环境配置,并不会涉及 React Native 的其他任何内容。之所以会在这里用这么多笔墨,是因为很多计划进军 React Native 的开发人员,就是因为这一步不成功而放弃 React Native(我曾经也是其中一员)。

在这里我给大家提供了一种亲测可行的在 window 上的环境配置方式,在配置过程中可能会因为电脑环境的不同而出现各种奇葩的问题,这个就需要各位自行百度解决了,算是对你学习 React Native 决心的一种检验。废话不多说了,开始跟我一起遨游 React Native 吧。

必须要安装的软件

Chocolatey

Chocolatey 是一个 Windows 上的包管理器,可以简单理解为帮助我们在命令行中安装或者写在软件的工具,此时我们主要是利用该包管理器帮助我们安装 PythonNodejs

安装方式:

@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

可能碰到的问题:

因为安装 Chocolatey 访问的是国外的服务器,所以在安装过程中可能会安装很慢或者安装失败,此时建议多试几下:

如果实在不行那就分别到 Python 和 Nodejs 的官网下载这两个软件进行手动安装。

注意: Python 必须下载 Python2 版本

Python2

使用 chocolatey 安装 Python2。

目前不支持 Python3 版本。

chocolatey 安装方式:

choco install python2

到上面提供的官网下载安装包,手动安装。

NodeJS

目前已知 Node7.1 版本无法正常工作

node.js 安装方式:

choco install nodejs.install

到上面提供的官网下载安装包,手动安装。

安装完node后建议设置npm镜像以加速后面的过程

npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

Yarn、React Native 的命令行工具(react-native-cli)

Yarn 是 Facebook 提供的替代 npm 的工具,可以加速 node 模块的下载。React Native 的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。

安装方式:

npm install -g yarn react-native-cli

可能碰到的问题:

如果你遇到EACCES: permission denied权限错误,可以尝试运行下面的命令(限linux系统): sudo npm install -g yarn react-native-cli。

Java Development Kit(JDK)

需要JDK 1.8或者更高版本

可以在命令行中输入 java -version 来查看版本号,如果显示 java 不是命令,就说明你没有安装 java。

Java 的安装方式:

  • chocolatey 的安装方式:

choco install jdk8
  • 到java官网下载安装包,手动安装。请移步 java 官网

Android Studio

需要 Android Studio 2.0 或者更高版本。

Android Studio 包含了运行和测试 React Native 应用所需的 Android SDK 和模拟器。

除非特别注明: 请不要改动安装过程中的选项。比如 Android Studio 默认安装了 Android Support Repository,而这也是 React Native 必须的(否则在 react-native run-android 时会报 appcompat-v7 包找不到的错误)。

记得将你的SDK安装到哪里了,后面马上就会用到。

Android Studio 的安装步骤

android studio中文官网下载安装包。安装过程中,确认按钮都勾选了,尤其是Android SDK和Android Device Emulator。

在初步安装完成后,选择 Custom 安装项。

安装完成后,在Android Studio的欢迎界面中选择 Configure | SDK Manager。

在 SDK Platforms 窗口中,选择 Show Package Details在Android 6.0 (Marshmallow)中勾选以下选项

  • Google APIs、

  • Android SDK Platform 23、

  • Intel x86 Atom System Image、

  • Intel x86 Atom_64 System Image

  • Google APIs Intel x86 Atom_64 System Image。

在 SDK Tools 窗口中,选择 Show Package Details,在 Android SDK Build Tools中勾选Android SDK Build-Tools 23.0.1(必须是这个版本)。还要勾选最底部的Android Support Repository。

设置 ANDROID_HOME 环境变量

打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建

具体的路径可能和下图不一致,请自行确认。

推荐安装的工具

Gradle Daemon

开启Gradle Daomon可以极大地提升java代码的增量编译速度。

(if not exist "%USERPROFILE%/.gradle" mkdir "%USERPROFILE%/.gradle") && (echo org.gradle.daemon=true >> "%USERPROFILE%/.gradle/gradle.properties")

将Android SDK的Tools目录添加到PATH变量中

把Android SDK的tools和platform-tools目录添加到PATH变量中,以便在终端中运行一些Android工具。

打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 选中PATH -> 双击进行编辑,同一个环境变量如果有多个路径,用分号隔开

安卓模拟器-Genymotion

比起Android Studio自带的原装模拟器,Genymotion 是一个性能更好的选择,但它只对个人用户免费。

测试安装

在当前命令行所在路径创建一个React Native项目,

  • 时间会比较长,有VPN的同学,建议打开VPN

react-native init AwesomeProject
  • 结束以后你会得到如下一个目录

进行到项目所在目录

cd AwesomeProject

在模拟器上运行安卓项目

运行之前要保证模拟器已经打开,或者已经连接上真机:

react-native run-android

完成以后,会新建一个命令行窗口,帮我们打开一个端口号为8081的服务器,如果你把这个新建的命令行窗口关了,服务器就关了,就无法实现热更新了。

如果在模拟器或者真机上如下显示就正常了

真机运行项目,无法正常显示解决办法。

  1. 是否打开该软件的弹出框的权限。

  2. 是否和电脑连接同一个网络。

  3. 是否配置IP地址,配置过程如下:

    1. 这时候我们摇一摇手机(这是安卓,iOS是双击屏幕),会出现一个窗口

    2. 点击Dev Settings后,点击Debug server host & port for device,

    3. 设置电脑的无线局域网IP地址和端口号,端口号默认是8081,例如192.168.2.13:8081

    4. 重启这个软件。

修改项目

现在你已经成功运行了项目,我们可以开始尝试动手改一改了:

  • 使用你喜欢的文本编辑器打开index.android.js找到里面的文本进行修改

  • 然后摇动手机低级Reload刷新(模拟器双击键盘上的R键即可)。

补充

1. react native在iOS上仅支持iOS7以上,Android仅支持Android4.1以上。

中文帮助文档 github地址

2. 由于React Native的版本更新速度很快,如果没有深厚的JavaScript基础,建议选择。
  1. 功能适中,交互一般,不需要考虑特别多的系统原生支持

  2. 对于部分复杂的应用,可以考虑原生+React Native混合开发。

猜你在找的React相关文章