electron线上更新

一、安装electron-updater

bash 复制代码
npm install --save electron-updater

二、在main.js中引入使用

bash 复制代码
import {  autoUpdater } from 'electron';
if (!isDev) {
  const serverUrl = 'https://your-update-server.com'; // 自定义更新服务器地址或GitHub Releases地址
  autoUpdater.setFeedURL(`${serverUrl}/update/${process.platform}/${app.getVersion()}`);
  // 启动自动检查更新
  autoUpdater.checkForUpdatesAndNotify();
  // 监听更新事件
  autoUpdater.on('update-available', () => {
    console.log('发现新版本');
  });
  autoUpdater.on('update-downloaded', () => {
    autoUpdater.quitAndInstall();
  });
}

三、配置更新服务器

1.使用 GitHub Releases: 如果你的项目托管在 GitHub 上,可以非常方便地利用 electron-updater 库配合 GitHub Releases 实现自动更新。只需在主进程初始化时设置 provider 为 github 并配置相应的 repository 信息即可。

2.自建更新服务器: 若选择自建更新服务器,则需确保服务器能够根据特定协议(如 Squirrel )返回正确的更新信息。这通常包括一个 JSON 文件,列出所有可用版本及其下载地址。

四、打包与发布更新

  • 打包新版本: 使用 electron-builder 等打包工具生成新的安装包或更新包,将其上传至 GitHub Releases 或其他指定服务器。
  • 发布新版本: 在 GitHub 上创建一个新的 Release ,包含更新日志和打包后的安装包;或者在自建服务器上更新版本信息 JSON 文件。
相关推荐
shelutai13 小时前
实现提供了完整的 Flutter Web 文件上传解决方案
前端·flutter
gplitems12313 小时前
Spide - Personal Blog & Magazine WordPress Theme Download
javascript
im_AMBER13 小时前
Web 开发 29
前端·学习·web
前端开发爱好者13 小时前
Vite➕ 收费了!
前端·javascript·vue.js
gplitems12313 小时前
Petslist – Pet listing WordPress Theme Free Download
linux·服务器·前端
dcloud_jibinbin13 小时前
【uniapp】体验优化:开源工具集 uni-toolkit 发布
前端·webpack·性能优化·小程序·uni-app·vue
IT_陈寒13 小时前
Java性能调优实战:7个让GC效率提升50%的关键参数设置
前端·人工智能·后端
细节控菜鸡14 小时前
【2025最新】ArcGIS for JS 范围裁剪(只保留特定区域显示),实现精准地理范围聚焦
开发语言·javascript·arcgis
前端小菜袅14 小时前
uniapp配置自动导入uni生命周期等方法
前端·javascript·uni-app
Apifox14 小时前
如何在 Apifox 中通过 AI 一键生成几十个测试用例?
前端·后端·ai编程