多数情况下,采用增量更新来提高用户更新体验,同时使用全量更新作为兜底更新方案.
(2). 采用electron-builder配合electron-updater实现自动更新:
①. electron打包两种方式:
a. electron-packager
b. electron-builder
②. 比较:
a. electron-builder比electron-packager功能更多、支持更多的平台、自动更新
b. electron-builder打出的包更轻量,并且可以打包出不暴露源码的setup安装程序
2. install:
(1). 安装electron-updater包模块:
// 必须安装为运行依赖,在"dependencies"中,否则报错
yarn add electron-updater
注:
①. yarn electron-builder:
a. 会生成latest.yml文件,用于自动更新的配置信息 => 实现自动更新的文件
b. 在mac上会生成.dmg的包以及latest-mac.yml文件
c. 在windows上会生成.exe的包以及latest.yaml
d. 根据latest.yaml里的版本信息去判断是否有新版本,需要进行下载安装
②. 没有配置publish字段,就没有latest-mac.yml文件:
"publish": [{
"provider": "generic",
"url": "",
"channel": "latest"
}],
(2). latest-mac.yml:
version: 0.0.1
files:
- url: OA工作台_setup_0.0.1.zip
sha512: J3yt47fCzLlZi6S2oFNc2+orkweZiF0Gi6Ngb5HfHkIpMt1tvTSH4p0EyXVYfIhUR7H4Y94c/YAgevsnXN0Jjw==
size: 81979514
- url: OA工作台_setup_0.0.1.dmg
sha512: Or9L6b7NdQA1SWWGGsPzGODury5zEBxwOL3zEBhlLAaDGW4wcZxrH9q9ZmCasJN0BArcO22VCBF4/PENHUJ4nA==
size: 84647041
path: OA工作台_setup_0.0.1.zip
sha512: J3yt47fCzLlZi6S2oFNc2+orkweZiF0Gi6Ngb5HfHkIpMt1tvTSH4p0EyXVYfIhUR7H4Y94c/YAgevsnXN0Jjw==
releaseDate: '2022-06-03T17:34:53.470Z'
(3). latest.yml:
version: 2.8.0
files:
- url: 2.8.0.exe
sha512: FmSi6nU1PJ1LRQIBjuvaw0TG32KHPM76FlGMRcWrSNOs7XGeaUALspgOKknTFYzuqmjEJk6JiHGNOm/UH+wDLw==
size: 42463133
// 当target选择nsis和zip等时候,此时的files里会有多项,所以path是指定下载时候对于服务器上的下载文件地址,如果是mac的话指的的.zip. sha512参数是在下载时候做校验的,以确保下载的是正确的新版本
path: 2.8.0.exe
sha512: FmSi6nU1PJ1LRQIBjuvaw0TG32KHPM76FlGMRcWrSNOs7XGeaUALspgOKknTFYzuqmjEJk6JiHGNOm/UH+wDLw==
releaseDate: '2020-01-21T02:24:38.716Z'