ionic热更新

一.  安装插件及包:

1.添加自动更新插件

cordova plugin addcordova-hot-code-push-plugin

2. 添加cordova hot code push客户端,用于生成www目录下文件的hash码,更新的时候对比使用。

    npm install -g cordova-hot-code-push-cli(ps:npm无法安装,可以 使用淘宝镜像cnpm)

二.  配置

1.     修改根目录下的config.xml

       

       

   

config.xml

version:用来判断是否支持热更新的版本,在corodva-chcp.json文件中可以设置支持的最低版本。

url:用来更新的服务端的地址

2. 项目根目录运行cordova-hcp init

根据提示配置相关信息,项目根目录会生成cordova-hcp.json。可以后续更新里面内容,也可以自己新建,不通过命令行,重要参数配置

1.   min_native_interface:1就是前面配置config.xml文件设置的version进行比较

2.  update:配置什么时候更新

3.  content_url:服务器更新地址

三.  更新

项目根目录编译cordova-hcp build,会在你的项目的www文件下生成两个文件chcp.json和chcp.mainfest。chcp.json文件与corodva-hcp.json内容一致只是增加了时间戳,chcp.mainfest包含所有web内容文件的名字和MD5值,这两个文件主要用来判断是否更新。更新服务端代码时,编译更新这两个文件,生成新的版本信息,将www文件更新到服务端。

(项目根目录编译cordova-hcp serve,启动更新服务。可以判断本地和服务端代码是否更新。)

四.  问题

1. 热更新的项目,安装包覆盖安装时是无法更新的。需要卸载后再安装才能看到效果。

2.ios报错:

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

热更新引起的错误。

由于根目录下的www没有chcp.json和chcp.manifest这两个文件。

3.ionic3项目,先编译好项目中的www文件,再去执行cordova-hcp build,因为开发的是src下的文件。

你可能感兴趣的:(ionic热更新)