Open LinkXSystem opened 4 years ago
自动更新的asar文件的云存储
asar
实现自动更新的关键是如何替换 app.asar 文件,和如何检测版本的变更。
app.asar
上面的解决问题的关键在于使用 electron-builder 和 deelectron-updater 这两个包,前者负责打包出 asar 文件,后者负责更新。
目前的 electron-builder 支持打包之后推送至 HTTP 的 服务器和 Github 的 release 中。
而 electron-updater 这通过检测对应的版本配置的 yaml 文件来判断是否需要更新。
但是,通常我们存储大文件的方式是使用云存储而非上述的两种方式。那么这个关键就在于 electron-builder 中的 electron-publish 模块,该模块的仓库地址,其中 publisher.ts 的定义中可以通过 doUpload 来了解自己编写上传机制的思路,完成我们需要的云存储方式。
云存储
doUpload
实现自动更新的关键是如何替换
app.asar
文件,和如何检测版本的变更。上面的解决问题的关键在于使用 electron-builder 和 deelectron-updater 这两个包,前者负责打包出 asar 文件,后者负责更新。
目前的 electron-builder 支持打包之后推送至 HTTP 的 服务器和 Github 的 release 中。
而 electron-updater 这通过检测对应的版本配置的 yaml 文件来判断是否需要更新。
但是,通常我们存储大文件的方式是使用
云存储
而非上述的两种方式。那么这个关键就在于 electron-builder 中的 electron-publish 模块,该模块的仓库地址,其中 publisher.ts 的定义中可以通过doUpload
来了解自己编写上传机制的思路,完成我们需要的云存储方式。