美文网首页
Ionic1 APP代码热更新

Ionic1 APP代码热更新

作者: 光脚丫的孩子 | 来源:发表于2017-09-24 15:13 被阅读140次

    功能描述

          APP热更新:不需要重新打包,将更改的代码上传到服务器,打开APP时,APP会自行到服务器检测最新代码以及下载到APP本地实时更新。

    前期准备

    1.cordova-hcp cli安装

        npm install -g cordova-hot-code-push-cli

        安装cordova-hcp的目的是为了,打开热更新服务

    2.添加插件 cordova-hot-code-push-plugin

        cordova plugin add cordova-hot-code-push-plugin

        本插件的git地址:https://github.com/nordnet/cordova-hot-code-push

    3.添加插件cordova-hot-code-push-local-dev-addon

        cordova plugin add cordova-hot-code-push-local-dev-addon

        该插件的作用:主要是为了能够本地开发测试,但实际运用中我们都有自己服务器(例如:Tomcat服务),因此此插件可以不必安装。

    4.使用如下命令build项目

        cordova-hcp build  或者  cordova build

        执行完命令后会www目录下生成两个文件:chcp.json(用户配置热更新代码版本设置),chcp.manifest(此为清单文件,将www下的所有文件生成一个文件清单)。

    5.输入如下命令打开热更新服务:

        cordova-hcp server

        打开服务后,每次代码的改动都会更新chcp.json文件。

            {

            "autogenerated":true,

            "release":"2017.09.24-14.10.42",

            "content_url":"http://79265082.ngrok.io",

            "update":"now"

           }

        说明:

            release为更改时间,

            content_url为更新的路径。

            update:可取值分别为:

                start :app启动时安装更新. 默认值.

                resume : app从后台切换过来的时候安装更新.

                now :web内容下载完毕即安装更新.

    6.打开服务后会在根目录下生成 .chcpenv 文件。

    项目配置

    1.使用命令打开 cordova-hcp server 热更新服务。

    2.更改 .chcpenv 文件(更改内容如下)

        {

        "content_url": "http://192.168.14.232:8080/app/union_app_update",

        "config_url": "http://192.168.14.232:8080/app/union_app_update/chcp.json"

        }

        说明:

            content_url为放置更新代码的根目录路径。

            config_url 为检查更新chcp.json文件的路径。

    3.在config.xml中添加如下内容:

        <chcp>

            <config-file url="http://192.168.14.232:8080/app/union_app_update/chcp.json"/>

        <chcp>

        url 为检查更新chcp.json文件的路径。

    4.修改 chcp.json文件

        {

        "autogenerated":true,

         "release":"2017.09.24-14.10.42",

        "content_url":"http://192.168.14.232:8080/app/union_app_update",

        "update":"now"

        }

        此时运行将代码运行在APP中,此时APP中的热更新代码相当于生效了(注意此处cordova-hcp server启动的服务可关闭也可以不关闭)。

    5.正常更改代码(即正常的写入:js、html或css代码等)。

    6.代码工作开发完成后,打开热更新服务cordova-hcp server,此时发现chcp.json 文件有所改动,更改字段 content_url 的值。"content_url":"http://192.168.14.232:8080/app/union_app_update"。

    7.将www下的文件全部复制在服务端的union_app_update目录中。(复制完成后可以在地址栏中输入地址:http://192.168.14.232:8080/app/union_app_update/chcp.json 测试是否能打开此文件)

    8.结束APP应用,重新打开APP即可看到更新内容。

    9.下载APP更新代码可以放在APP启动页面中。

    相关文章

      网友评论

          本文标题:Ionic1 APP代码热更新

          本文链接:https://www.haomeiwen.com/subject/gxegsxtx.html