ReactNative中熱更新通常都是用CodePush;react
CodePush官方github地址:https://github.com/Microsoft/...nginx
瞭解了CodePush是幹什麼的,就開始正題了;git
react-native-code-push官方github地址 :https://github.com/Microsoft/...
按照官方文檔集成好;github
根據你前面的瞭解,CodePush的官方服務器是Microsoft的,身在天朝的咱們用戶更新速度是無比慢的;因此須要本身搭建服務器,服務器控制權在本身手裏,也放心些;
開源服務器地址 :https://github.com/lisong/cod...
按照官方的教程,部署好;json
假如你熱更新服務器的地址是: http://hot.nero-zou.com; 那麼使用 默認帳號(admin)、密碼(123456)登陸進去;能夠獲得token: Gg9T4nXPpWzvIFKxHNsARwtoZhjY40svOXqog, 這個token在你後面發佈熱更新也是要用到的;
獲得token後,在命令行裏執行下面這個命令:curl -X PATCH -H "Authorization: Bearer Gg9T4nXPpWzvIFKxHNsARwtoZhjY40svOXqog" -H "Accept: application/json" -H "Content-Type:application/json" -d '{"oldPassword":"123456","newPassword":"654321"}' http://hot.nero-zou.com/users/password
注意上面的 token 域名 密碼換成你本身的配置react-native
按照官方文檔: https://github.com/lisong/cod... 配置Storage mode 爲 qiniu或者s3, 我推薦使用 使用七牛,由於有10Gb的免費流量;
注意bucket綁定好域名,否則更新包下載速度會比較慢服務器
因爲我沒找到添加多個帳號、和根據帳號分配應用權限的方法,我是部署了兩個服務,一個對應生產環境,一個對應按開發環境;app
中文文檔:https://github.com/Microsoft/...curl
經常使用的命令:測試
code-push login http://hot.nero-zou.com:3000
,若是配置了nginx反向代理,要注意帶上端口號登陸,由於nginx代理傳輸的數據大小有限制;在執行 code-push release-react
時會碰到,帶上端口號就沒有Nginx代理這一層了;code-push app add <appName> <os> <platform>
code-push release <appName> <updateContents> <targetBinaryVersion>
PS: AppStore對 CodePush的應用沒限制;
PPS: 有了熱更新,改好bug給測試驗證方便多了只要不涉及原生代碼改動都不須要從新打包了;