ionic熱更新

一. ?安裝插件及包:

1.添加自動(dòng)更新插件

cordova plugin addcordova-hot-code-push-plugin

2. 添加cordova hot code push客戶端,用于生成www目錄下文件的hash碼,更新的時(shí)候?qū)Ρ仁褂谩?/h4>

??? npm install -g cordova-hot-code-push-cli(ps:npm無(wú)法安裝,可以 使用淘寶鏡像cnpm)

二. ?配置

1. ? ? 修改根目錄下的config.xml

<chcp>

? ? ? ? <native-interface version="1" />

? ? ? ? <config-file url="http://119.0.0.56:8088/hotApp/yuecainew/chcp.json" />

? ? </chcp>

config.xml

version:用來(lái)判斷是否支持熱更新的版本,在corodva-chcp.json文件中可以設(shè)置支持的最低版本。

url:用來(lái)更新的服務(wù)端的地址

2.?項(xiàng)目根目錄運(yùn)行cordova-hcp?init

根據(jù)提示配置相關(guān)信息,項(xiàng)目根目錄會(huì)生成cordova-hcp.json??梢院罄m(xù)更新里面內(nèi)容,也可以自己新建,不通過(guò)命令行,重要參數(shù)配置

1. ? min_native_interface:1就是前面配置config.xml文件設(shè)置的version進(jìn)行比較

2. ?update:配置什么時(shí)候更新

3. ?content_url:服務(wù)器更新地址

三. ?更新

項(xiàng)目根目錄編譯cordova-hcp build,會(huì)在你的項(xiàng)目的www文件下生成兩個(gè)文件chcp.json和chcp.mainfest。chcp.json文件與corodva-hcp.json內(nèi)容一致只是增加了時(shí)間戳,chcp.mainfest包含所有web內(nèi)容文件的名字和MD5值,這兩個(gè)文件主要用來(lái)判斷是否更新。更新服務(wù)端代碼時(shí),編譯更新這兩個(gè)文件,生成新的版本信息,將www文件更新到服務(wù)端。

(項(xiàng)目根目錄編譯cordova-hcp serve,啟動(dòng)更新服務(wù)??梢耘袛啾镜睾头?wù)端代碼是否更新。)

四. ?問(wèn)題

1. 熱更新的項(xiàng)目,安裝包覆蓋安裝時(shí)是無(wú)法更新的。需要卸載后再安裝才能看到效果。

2.ios報(bào)錯(cuò):

Terminatingapp due to uncaught exception 'NSInvalidArgumentException', reason: '***-[NSURL URLByAppendingPathComponent:isDirectory:]: component, components, orpathExtension cannot be nil.'

熱更新引起的錯(cuò)誤。

由于根目錄下的www沒(méi)有chcp.json和chcp.manifest這兩個(gè)文件。

3.ionic3項(xiàng)目,先編譯好項(xiàng)目中的www文件,再去執(zhí)行cordova-hcp build,因?yàn)殚_(kāi)發(fā)的是src下的文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容