摘自官方:時(shí)刻將React Native更新到最新的版本,可以獲得更多API、視圖、開發(fā)者工具以及其他一些好東西(譯注:官方開發(fā)任務(wù)繁重,人手緊缺,幾乎不會(huì)對(duì)舊版本提供維護(hù)支持,所以即便更新可能帶來(lái)一些兼容上的變更,但建議開發(fā)者還是盡一切可能第一時(shí)間更新)。由于一個(gè)完整的React Native項(xiàng)目是由Android項(xiàng)目、iOS項(xiàng)目和JavaScript項(xiàng)目組成的,且都打包在一個(gè)npm包中,所以升級(jí)可能會(huì)有一些麻煩。我們會(huì)盡量簡(jiǎn)化這一流程。以下是目前所需的升級(jí)步驟:
第一步:查看React Native版本
- 您可以直接通過(guò)命令行
npm info react-native
去查看最新的版本信息。也可以通過(guò)react-native去獲取最新的版本。
Paste_Image.png
第二步:更新React Native版本
- 第一種方案:
在你的工程目錄下安裝最新的React Native
版本。例如要升級(jí)到0.18
版本,只需要在命令行輸入
$ npm install --save react-native@0.18
-
第二種方案:
打開項(xiàng)目目錄下的package.json文件,然后在dependencies模塊下找到react-native,將當(dāng)前版本號(hào)改到最新。
Paste_Image.png<p>*注:此處設(shè)置版本號(hào)"^0.18.0", *
- 會(huì)匹配最新的子版本(中間那個(gè)數(shù)字),比如1.2.3會(huì)匹配所有的1.2.x版本,但不匹配到1.3.0及以上。
- 會(huì)匹配最新的主版本(第一個(gè)數(shù)字),比如1.2.3將會(huì)匹配所有的1.x.x版本,2.0.0就緩緩飄過(guò)了。
然后在命令行中運(yùn)行(譯注:如果提示權(quán)限錯(cuò)誤,就在命令前加上sudo
):
$ npm install
第三步: 升級(jí)項(xiàng)目模板文件
新版本的npm
包通常還會(huì)包含一些動(dòng)態(tài)生成的文件,這些文件是在運(yùn)行react-native init
創(chuàng)建新項(xiàng)目時(shí)生成的,比如iOS和Android的項(xiàng)目文件。為了使老項(xiàng)目的項(xiàng)目文件也能得到更新(不重新init
),你需要在命令行中運(yùn)行:
$ react-native upgrade
這一命令會(huì)檢查最新的項(xiàng)目模板,然后進(jìn)行如下操作:
- 如果是新添加的文件,則直接創(chuàng)建。
- 如果文件和當(dāng)前版本的文件相同,則跳過(guò)。
- 如果文件和當(dāng)前版本的文件不同,則會(huì)提示你一些選項(xiàng):查看兩者的不同,選擇保留你的版本或是用新的模板覆蓋。你可以按下
h
鍵來(lái)查看所有可以使用的命令。
譯注:如果你有修改原生代碼,那么在使用upgrade
升級(jí)前,先備份,再覆蓋。覆蓋完成后,使用比對(duì)工具找出差異,將你之前修改的代碼逐步搬運(yùn)到新文件中。