LinkXSystem / learn-guide

有趣的学习笔记 (*^_^*)
https://linkxsystem.github.io/
3 stars 1 forks source link

Electron 的实现功能的思路 #22

Open LinkXSystem opened 4 years ago

LinkXSystem commented 4 years ago

自动更新的asar文件的云存储

实现自动更新的关键是如何替换 app.asar 文件,和如何检测版本的变更。

上面的解决问题的关键在于使用 electron-builder 和 deelectron-updater 这两个包,前者负责打包出 asar 文件,后者负责更新。

目前的 electron-builder 支持打包之后推送至 HTTP 的 服务器和 Github 的 release 中。

而 electron-updater 这通过检测对应的版本配置的 yaml 文件来判断是否需要更新。

但是,通常我们存储大文件的方式是使用云存储而非上述的两种方式。那么这个关键就在于 electron-builder 中的 electron-publish 模块,该模块的仓库地址,其中 publisher.ts 的定义中可以通过 doUpload 来了解自己编写上传机制的思路,完成我们需要的云存储方式。