前言
在React Native的工程项目中,版本升级是避免不了的,尤其是RN这种框架版本的迭代速度非常之快,如果一味使用旧版本,就无法使用新特性,如果升级,很可能会导致版本兼容问题,正所谓“与何雄站不可兼得”,但是为了长远发展,我们依然要选择升级, 那么对于RN我们如何升级会更好的呢?下面说我我的一些观点。
在此强调一下,RN 0.40版本和一下的版本变动比较大, 所以升级方式会有所不同。
使用react-native-git-upgrade升级
此库主要针对于0.40一下的版本,具体方法如下:
sudo npm install -g react-native-git-upgrade
$ react-native-git-upgrade
# 这样会直接把react native升级到最新版本
# 或者是:
# 这样把react native升级到指定的X.Y.Z版本
$ react-native-git-upgrade X.Y.Z
在对应升级平台的版本:
react-native upgrade
主要原理是利用Git工具计算新旧版本文件间的差异并生成补丁,然后在用户的项目文件上应用补丁。
使用react-native自带模块升级
在react-native 0.40以后,我们不需要安装额外的依赖库进行升级,使用自带的模块即可。
$ react-native upgrade
# 这样会直接把react native升级到最新版本
# 或者是:
$ react-native upgrade X.Y.Z
# 这样把react native升级到指定的X.Y.Z版本
在此过程中会出现冲突的问题,这主要取决于你再本地的更改多少,如果有冲突,需要手动合并,单几率不是很大。
传统npm方式升级
传统的H5升级,主要是更改package.json中的react-native的版本号,更改后重新执行
npm install
然后再升级对应模块
react-native upgrade
注意:从0.24版本开始,react-native还需要额外安装react模块,且对react的版本有严格要求,高于或低于某个范围都不可以。如果看到要求的react版本,需要自己手动进行升级。