如何更新React Native
2016-01-21 本文已影响707人
Hi唐吉诃德
摘自官方:时刻将React Native更新到最新的版本,可以获得更多API、视图、开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的变更,但建议开发者还是尽一切可能第一时间更新)。由于一个完整的React Native项目是由Android项目、iOS项目和JavaScript项目组成的,且都打包在一个npm包中,所以升级可能会有一些麻烦。我们会尽量简化这一流程。以下是目前所需的升级步骤:
第一步:查看React Native版本
- 您可以直接通过命令行
npm info react-native
去查看最新的版本信息。也可以通过react-native去获取最新的版本。
Paste_Image.png
第二步:更新React Native版本
- 第一种方案:
在你的工程目录下安装最新的React Native
版本。例如要升级到0.18
版本,只需要在命令行输入
$ npm install --save react-native@0.18
-
第二种方案:
打开项目目录下的package.json文件,然后在dependencies模块下找到react-native,将当前版本号改到最新。
Paste_Image.png<p>*注:此处设置版本号"^0.18.0", *
- 会匹配最新的子版本(中间那个数字),比如1.2.3会匹配所有的1.2.x版本,但不匹配到1.3.0及以上。
- 会匹配最新的主版本(第一个数字),比如1.2.3将会匹配所有的1.x.x版本,2.0.0就缓缓飘过了。
然后在命令行中运行(译注:如果提示权限错误,就在命令前加上sudo
):
$ npm install
第三步: 升级项目模板文件
新版本的npm
包通常还会包含一些动态生成的文件,这些文件是在运行react-native init
创建新项目时生成的,比如iOS和Android的项目文件。为了使老项目的项目文件也能得到更新(不重新init
),你需要在命令行中运行:
$ react-native upgrade
这一命令会检查最新的项目模板,然后进行如下操作:
- 如果是新添加的文件,则直接创建。
- 如果文件和当前版本的文件相同,则跳过。
- 如果文件和当前版本的文件不同,则会提示你一些选项:查看两者的不同,选择保留你的版本或是用新的模板覆盖。你可以按下
h
键来查看所有可以使用的命令。
译注:如果你有修改原生代码,那么在使用upgrade
升级前,先备份,再覆盖。覆盖完成后,使用比对工具找出差异,将你之前修改的代码逐步搬运到新文件中。