All
PC硬件
经验记录
生活杂谈
日常踩坑
前端技术
测试
2024-05-14
经验记录
electron
90
electron-forge结合electron-updater实现自动更新功能

1.设置更新源

import { autoUpdater } from 'electron-updater';

autoUpdater.setFeedURL({
  provider: 'generic',
  // 更新源地址
  url: 'http://127.0.0.1:5173'
});
  • 服务端需要返回一个latest.yml文件
# HTTP GET http://127.0.0.1:5173/latest.yml
version: 1.0.2
files:
  url: http://localhost:5173/healthybd-ytj-1.0.0-Setup.exe
sha512: 5ca8d0f2e2440782d1e2f7dcb081a65430e1571a9e764c3fc74f034944499afb0422b5ffb755274f866902e0d04f8acb7e073dfc43c452de9f8566199dd1368b
path: http://localhost:5173/healthybd-ytj-1.0.0-Setup.exe

2.检测更新

import { autoUpdater } from 'electron-updater';

autoUpdater.autoDownload = true;
autoUpdater.checkForUpdatesAndNotify()

注意事项

  1. 开发环境调式需要设置autoUpdater.forceDevUpdateConfig = true
  2. 开发环境调试需要在项目根目录下创建一个dev-app-update.yml文件
# dev-app-update.yml
provider: generic
updaterCacheDirName: demo-updatar
  1. 应用安装后根目录下resources文件夹中必须要有一个app-update.yml文件
    1. 在项目根目录下创建一个app-update.yml文件(同dev-app-update.yml)
    2. 通过在forge.config.ts配置文件中配置额外的资源文件
const config: ForgeConfig = {
  packagerConfig: {
    extraResource: ['./app-update.yml'],
  },
 }
Back
© 2022 BBF Powered byNext.js&Prisma&Tailwind.css