公司的大部分都是Hybrid 产品,也就是混合开发,所以比较重要的一个核心功能就是热更新了。

做这个功能的时候中间碰到不少坑,记录一下,比较简单,大致思想就是从服务器拉取JS文件替换掉本地对应文件


之前热更新的一个实现想法就是,在项目初始化的时候,找到项目APP包里面的H5包,一般都是放在www文件夹下,(如果对Cordova完全不了解的可以先看下这个

http://www.jianshu.com/p/9654783cd1f5 )

也就是会找到这个www文件夹,然后压缩成zip文件,丢到Doc目录下,每次启动的首页路径就是Doc目录的index.html(index.html就是H5项目的启动页)

在不做热更新的情况下是直接启动APP路径里面的index.html

第一次初始化后Doc里面大概是这样

 
 

 

JimuBizPro是目标文件路径,可以随便命名,www文件夹就是www.zip解压出来的东东(---这个zip是Cordova编译后APP里www文件压缩过来的---),里面的内容大都是一些编译后cordova生成的东西,可以自己控制的是h5_biz这个文件夹的东西

举个栗子
生成Cordova项目的时候不是需要把H5的东西放www文件夹里面吗,像这样

 

也就是在通过 cordova build之后的www文件夹里面在原来的基础上会多一些cordova的配置文件

这里有一点就是,之前第一个版本是没有h5_biz这个中间层的,在H5跨版本更新的时候会删掉原有的www文件夹,然后再解压

这样就必须保证给的增量包必须要包含有编译后的cordova文件,也就是这样

 

但是H5那边提供新包就是纯h5_biz,

这样的结果就是每次要放更新的H5包的时候就必须需要我更新H5编译打包,然后给测试,这样就很没必要了。

在有了h5_biz这个夹层之后,只需要每次删除h5_biz里面的东西,不动cordova的编译文件,这样就可以分离业务出去,每次更新只需要测试那边放新包就行。

梳理下Cordova的热更新的更多相关文章

  1. Cordova - 实现热更新 !

    Cordova版本:8.0.0 更新APP平台:Android 操作系统:Windows Cordova的热更新,作用是把www内的变动部分更新到APP中,实现主程序不动,完成更新!!这个热更新功能, ...

  2. Cordova 代码热更新 - 简书

    原文:Cordova 代码热更新 - 简书 Cordova 代码热更新 [图片上传失败...(image-a19be7-1521624289049)] 基于 Cordova 框架能将网页应用 (js, ...

  3. vue-element-admin开发模式下style标签热更新失效[解决办法]

    参考:https://forum.vuejs.org/t/vue-cli-3-x-style/46306/3 vue.config.js添加配置 css: { sourceMap: false, mo ...

  4. 阿里云 持续集成环境自动部署cordova项目热更新脚本

    linux脚本: #!/bin/sh rm -rf /home/tomcat/xiecang_hybird_web/xiecang_hybird_web.zip rm -rf /home/tomcat ...

  5. ionic cordova 热更新的一些问题

    因为项目需要用到更新这一块的东西,所以就查了下cordova 的热更新,然后遇到了 一些问题,记录下来备忘. 项目用的是ionic 下载cordova的内容就直接跳过了. 首先是下载cordova的插 ...

  6. ionic cordova 热更新

    因为项目需要,使用cordova的热更新插件,本地调试很简单,看连接https://github.com/nordnet/cordova-hot-code-push,就几步,这里不说了. 下面两个要装 ...

  7. [Android教程] Cordova开发App入门(二)使用热更新插件

    前言 不知各位遇没遇到过,刚刚发布的应用,突然发现了一个隐藏极深的“碧油鸡(BUG)”,肿么办!肿么办!肿么办!如果被老板发现,一定会让程序员哥哥去“吃鸡”.但是想要修复这个“碧油鸡”,就必须要重新打 ...

  8. Ionic APP 热更新 之 产品发布状态下的热更新搭建,去local-dev-addon插件

    上一篇,我们介绍了在本地开发环境下的ionic项目热更新测试, 本文,我们将详细说明如何在去掉cordova-hot-code-push-local-dev-addon插件的情况下,实现热更新. 使用 ...

  9. Cordova热更新和App升级 - 简书

    原文:Cordova热更新和App升级 - 简书 公司的cordova项目前段时间增加了热更新功能,自己第一次做的时候在网上查找了很多资料,有的资料写的并不全面遇到了很多坑.因此总结一些在开发过程中遇 ...

随机推荐

  1. js中的 arguments ,实参的集合

    当 传递的参数个数不确定时,,可使用 arguments ..

  2. 《JAVASCRIPT高级程序设计》DOM扩展

    虽然DOM为XML及HTML文档交互制定了一系列的API,但仍然有几个规范对标准的DOM进行了扩展.这些扩展中,有很多是浏览器专有的,但后来成了事实标准,于是其他浏览器也提供了相同的实现:浏览器开发商 ...

  3. 阿里云oss总是提示SignatureDoesNotMatch错误怎么办

    网上的所有阿里云oss(C#)的例子几乎试遍了,为什么还是提示SignatureDoesNotMatch错误?什么原因?怎么办?下载一个阿里云提供的windows客户端发现,依然提示签名错误. 开始怀 ...

  4. 关于bootstrap 在MVC里 模态框里加载iframe页面做编辑的时候

    前台代码 <div class="modal fade" id="myModal" tabindex="-1" role=" ...

  5. 用 Lua 实现一个微型虚拟机-基本篇

    用 Lua 实现一个微型虚拟机-基本篇 目录 介绍 机器指令模拟 最终核心代码 虚拟机内部状态可视化 完整项目代码 后续计划 参考 介绍 在网上看到一篇文章 使用 C 语言实现一个虚拟机, 这里是他的 ...

  6. executssql 函数的每一句代码的意思

    Public Function Executesql(ByVal sql As String, Msgstring As String) As ADODB.Recordset Dim cnn As A ...

  7. 初学NodeJs

    1.在ecmascript部分node和js其实是一样的,比如数据类型的定义,语法结构,内置对象 在js中的顶层对象 window 在node中的顶层对象 global 注意:在node中也没有什么w ...

  8. Github windows客户端简单上手教程

    作为一个前端,如果不知道GitHub,那你有可能就是一个假前端(O(∩_∩)O哈哈~)开个玩笑...进入正题,咳咳... 1.第一步要在GitHub官网下载最新的客户端,网址是https://desk ...

  9. Flash、Ajax各自的优缺点,在使用中如何取舍?

    1.Flash ajax对比 Flash适合处理多媒体.矢量图形.访问机器:对CSS.处理文本上不足,不容易被搜索. Ajax对CSS.文本支持很好,支持搜索:多媒体.矢量图形.机器访问不足. 共同点 ...

  10. Transport (VMDB) error -44: Message

     关于点击电源按钮的时候出现了这情况Transport (VMDB) error -44: Message.   虚拟机有个服务没开.开始菜单--运行--services.msc 回车   找到VMw ...