RN現在的熱部署解決方案選擇不多,不過微軟的Code Push不失為一個好的選擇方案。
廢話不多說,上來就開摟!!!
依照文件操作步驟1,2後你的賬號就可以擁有了部署app的能力了。
現在把關注點放到iOS端,專案結構如下如所示(同RN init 出來的專案結構不同)
##步驟1 安裝code push庫
npm i react-native-code-push --save
##步驟2 以CocoaPods方式整合code push
pod 'CodePush', :path => './RN/node_modules/react-native-code-push'
執行pod install
替換原先使用url指定js程式碼位置的程式碼替換為
NSURL *jsCodeLocation = [CodePush bundleURL];
複製程式碼
新增React native打包指令碼
然後再plist檔案中新增一項CodePushDeploymentKey,這個key值,接下來我們在code push中新增一個app後,就會返回給我們2個key(正式環境和測試環境)
##步驟3 註冊app
新增app名為ReactNativeApp
code-push app add ReactNativeApp
你的測試環境就填寫staging 的key,反之填寫production的key
#步驟4 js端同步code push 在程式的入口檔案
import codePush from 'react-native-code-push'
...
...
...
componentDidMount() {
codePush.sync()
}
複製程式碼
步驟5 執行release 目錄移動到js端的根目錄
code-push release-react ReactNativeApp ios -p ../XXXApp/Info.plist -m true
複製程式碼
這裡的-p指定plist檔案是必須的,你也可以把這個腳步儲存的package.json下
以後釋出時,直接執行npm run deploy即可!!
最後,你執行你的專案看看,是不是在脫離自己開的server情況下也能得到js執行相應的程式! 最後說一句,開發中必不可少的會整合很多功能,但是隻要你一步一步的安裝說明來,根據上下文變化引數,是很EZ的。