Electron~增量更新
增量更新说明文档
提前准备
- 准备本地或者远程服务器或者远程静态文件url
npm i -g http-server
cd yourFileFolder // 进入任意文件夹
http-server -p 4000 // 快速开启本地服务,用于存储更新文件
- 配置和打包,拿到更新文件内容并压缩
// package.json
// 关闭asar模式
"asar": false,
// 打包
npm run pack-windows
// 进入打好的windows包
cd release\0.x.x_setup\win-unpacked\resources
// 压缩app文件夹 => app.zip, 拷贝app-update.yml和app.zip
app.zip app-update.yml 传到服务器
本地流程,启动客户端,点击增量更新
// 入口
// src\render\components\AutoUpdate\index.tsx
<Button type='primary' onClick={() => checkForPartUpdates()} style={{ marginLeft: 10 }}>
增量更新
</Button>
// 本地检查与服务器的version版本比较
// 如果找到新版本,则向主进程通信,通知checkForPartUpdates开始更新
// src\render\utils\autoUpdate\partUpdate.js
/** 检查更新 */
export async function checkForPartUpdates() {
try {
// check version 检查版本
const res = await checkVersion()
if (res && res === 'OPEN_PART_UPDATE') {
// 增量更新
console.log('OPEN_PART_UPDATE')
confirm({
title: '检测到更新',
icon: <ExclamationCircleOutlined />,
content: (
<div>
<p>是否更新?</p>
</div>
),
okText: '确认',
cancelText: '取消',
onOk() {
ipc && ipc.send('checkForPartUpdates')
message.info('请耐心等待几秒..')
},
onCancel() {
console.log('Cancel');
},
});
// partUpdates()
}
if (res && res === 'OPEN_ALL_UPDATE') {
console.log('OPEN_ALL_UPDATE')
// 全量更新
}
} catch (error) {
console.error('checkVersionERROR', error)
}
}
function checkVersion(params) {
return new Promise((resolve, reject) => {
const currentVersion = remote.app.getVersion()
// 获取最新版本号
downloadFile(remoteYmlURL, localYmlUrl).then(res => {
const remoteVersion = JSON.stringify(res.data).split('\\n')[0].split(' ')[1]
const remoteVersionArr = remoteVersion.split('.')
const currentVersionArr = currentVersion.split('.')
// 0.1.1 Y和Z比较来开启增量更新 1.1.1 X比较来开启全量更新
if (Number(remoteVersionArr[0])
Electron~增量更新的更多相关文章
- 谈谈混合 App Web 资源的打包与增量更新
综述 移动 App 的运行环境具有带宽不稳定,流量收费,启动速度比较重要等特点,所以混合 App 如何加载 Web 资源并不是一个新问题.本文目的是总结出一种资源打包下载的思路和方案,并且提供一种打包 ...
- SSIS Design2:增量更新
一般来说,ETL实现增量更新的方式有两种,第一种:记录字段的最大值,如果数据源中存在持续增加的数据列,记录上次处理的数据集中,该列的最大值:第二种是,保存HashValue,快速检查所有数据,发现异动 ...
- android studio增量更新
一.概述 1.1 概念 增量更新即是通过比较 本机安装版本 和 想要安装版本 间的差异,产生一个差异安装包,不需要从官网下载并安装全量安装包,更不需要将本机已安装的版本下载,而仅仅只是安装此差异安装包 ...
- Android 增量更新(BSDiff / bspatch)
Android 增量更新 BSDiff / bspatchhttp://www.daemonology.net/bsdiff/android的代码目录下 \external\bsdiff bsdiff ...
- 【转载】Unity 合理安排增量更新(热更新)
原帖地址:由于我看到的那个网站发的这篇帖子很大可能是盗贴的,我就暂时不贴地址了.避免伤害原作者 原版写的有点乱,我个人修改整理了下. --------------------------------- ...
- Unity5 如何做资源管理和增量更新
工具 Unity 中的资源来源有三个途径:一个是Unity自动打包资源,一个是Resources,一个是AssetBundle. Unity自动打包资源是指在Unity场景中直接使用到的资源会随着场景 ...
- [转载]BW增量更新的理解(时间戳)
在BW中,存在两种数据抽取方式,完全更新与增量更新,完全更新是每次把截至到某个时间的数据全部抽取,增量抽取则只抽取上次和本次抽取之间更新的数据,很显然,增量抽取能够提高系统效率,根据SAP帮 助的说法 ...
- `cocos2dx非完整` 日志模块 增量更新
在上一篇文章中,说到了"流程"的由来,以及我对流程的使用. 这一片就是对流程的应用.前一篇文章中说到了三条流程 check_log_measure, check_env_measu ...
- 增量更新项目时的备份MyBak
在增量更新项目时,做好备份十分重要,这里提供一个方法备份java Web所更新的文件. 把更新包放在指定目录,配好如下webappFolder.updateFolder以及bakeupFolder的路 ...
随机推荐
- Mysql如何取当日的数据
下面的sql语句可以取出当日的数据 SELECT * FROM table WHERE 时间字段 BETWEEN DATE_FORMAT(NOW(),'%Y-%m-%d 00:00:00') AND ...
- 【博客搭建】Typecho个人博客搭建,快速安装,超小白(很简单的)
使用Typecho框架一个月又十二天了,就目前感觉来说,整体还不错,很多方面都支持个性化,二次开发,但是目前MD编辑器有一丢丢问题,不能同步滚动条滚动,就是编辑器区域滚动,预览区域没有动静,需要两边都 ...
- Pandas基础知识图谱
所有内容整理自<利用Python进行数据分析>,使用MindMaster Pro 7.3制作,emmx格式,源文件已经上传Github,需要的同学转左上角自行下载或者右击保存图片.该图谱只 ...
- 初学linux常见问题
学习视频:<Linux从入门到精通> 1.Linux系统与我们常用的windows系统有什么相同与不同之处? 相同之处:都是操作系统,可以安装其他的软件 不同之处:从使用方式上来看,win ...
- JavaScript学习 Ⅶ
十四. DOM(文档对象模型) 节点:Node--构成HTML文档最基本的单元 文档节点:整个HTML文档 元素节点:HTMl文档中的HTML标签 属性节点:元素的属性 文本节点:HTML标签中的文本 ...
- java 面向对象(二十六):枚举类的使用
1. 枚举类的说明:* 1.枚举类的理解:类的对象只有有限个,确定的.我们称此类为枚举类* 2.当需要定义一组常量时,强烈建议使用枚举类* 3.如果枚举类中只一个对象,则可以作为单例模式的实现方式. ...
- SQLAlchemy(四):SQLAlchemy查询高级
目录 SQLAlchemy04 /SQLAlchemy查询高级 1.排序 2.limit.offset和切片操作 3.懒加载 4.group_by 5.having 6.join 7.subquery ...
- 神经网络结构:DenseNet
论文地址:密集连接的卷积神经网络 博客地址(转载请引用):https://www.cnblogs.com/LXP-Never/p/13289045.html 前言 在计算机视觉还是音频领域,卷积神经网 ...
- vue 实现滑块验证码
图一为拖拽前效果,图二为拖拽后效果 一.新建文件JcRange.vue,代码如下: 1.模板代码: <template> <div class="jc-component_ ...
- CSS:有点难的面试题①
1 举例说明匿名块框和匿名行内框2 什么是标准文档流?3 inline-block遵循怎样的渲染规则?4 什么是BFC?如何触发BFC?5 什么是Line box?(最好画图说明) 6 <met ...