react-native版本升级
2016-09-17 12:50
295 查看
时刻将React Native更新到最新的版本,可以获得更多API、视图、开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的变更,但建议开发者还是尽一切可能第一时间更新)。由于一个完整的React Native项目是由Android项目、iOS项目和JavaScript项目组成的,且都打包在一个npm包中,所以升级可能会有一些麻烦。我们会尽量简化这一流程。以下是目前所需的升级步骤:
译注:更新日志点这里查看
1. 更新
请去下面的网址查看
https://www.npmjs.com/package/react-native
打开项目目录下的
如果是新添加的文件,则直接创建。
如果文件和当前版本的文件相同,则跳过。
如果文件和当前版本的文件不同,则会提示你一些选项:查看两者的不同,选择保留你的版本或是用新的模板覆盖。你可以按下
译注:如果你有修改原生代码,那么在使用upgrade升级前,
译注:更新日志点这里查看
1. 更新react-native
的node依赖包
请去下面的网址查看react-native的npm包的最新版本,或使用
npm info react-native命令查看。
https://www.npmjs.com/package/react-native
打开项目目录下的
package.json文件,然后在
dependencies模块下找到
react-native,将当前版本号改到最新,然后在命令行中运行(译注:如果提示权限错误,就在命令前加上sudo):
$ npm install译注:从0.24版本开始,react-native还需要额外安装react模块,且对react的版本有严格要求,高于或低于某个范围都不可以。本文无法在这里列出所有react native和对应的react模块版本要求,只能提醒读者先尝试执行npm install,然后注意观察安装过程中的报错信息,例如
require react@某.某.某版本, but none was installed,然后根据这样的提示,执行
npm install react@某.某.某版本 --save。
2. 升级项目模板文件
新版本的npm包通常还会包含一些动态生成的文件,这些文件是在运行react-native init创建新项目时生成的,比如iOS和Android的项目文件。为了使老项目的项目文件也能得到更新(不重新init),你需要在命令行中运行:
$ react-native upgrade这一命令会检查最新的项目模板,然后进行如下操作:
如果是新添加的文件,则直接创建。
如果文件和当前版本的文件相同,则跳过。
如果文件和当前版本的文件不同,则会提示你一些选项:查看两者的不同,选择保留你的版本或是用新的模板覆盖。你可以按下
h键来查看所有可以使用的命令。
译注:如果你有修改原生代码,那么在使用upgrade升级前,
先备份,再覆盖。覆盖完成后,使用比对工具找出差异,将你之前修改的代码逐步搬运到新文件中。
手动升级
有时候React Native的项目结构改动较大,此时还需要手动做一些修改,例如从0.13到0.14版本,或是0.28到0.29版本。所以在升级时请先阅读一下更新日志,以确定是否需要做一些额外的手动修改。相关文章推荐
- React with Visual Studio Code and Webpack
- React Native中的=>是什么运算?
- react-redux-universal-hot-example错误
- 【原创】东方耀reactnative 视频20之-picker组件和箭头函数
- 【原创】东方耀reactnative 视频19之-图片image组件
- 從零開始學 ReactJS:最完整的 React 生態系入門教程
- 【原创】东方耀reactnative 视频18之-Touchable组件
- react中的state
- React-Native系列Android源码分析
- React实战-如何快速创建调试一个Demo程序
- 【原创】东方耀reactnative 视频16,17之-TextInput组件
- react的生命周期
- React Native 从入门到原理
- react-native中抽屉的使用(react-native-drawer)
- React实战-通过ReactRouter-example分析Router用法
- React和ES6(二)ES6的类和ES7的property initializer
- React Native Android的启动白屏/闪屏的原因,解决方案,原理,使用方法
- React-Native For IOS 开发之环境配置
- 用纯React写右键菜单真麻烦,最后还是得用DOM操作
- react native 和 h5+ 混编,真是生气