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 文件。
相关推荐
parade岁月几秒前
告别 Deno 时代?运行时进入一年倒计时,Deno 团队并入 Cloudflare
前端
Lucky_Turtle4 分钟前
【HTML】前端页面禁止缩放
前端·html
孟陬9 分钟前
JavaScript 反引号(` backtick)和双引号的不完全等价 ≠ 场景
javascript·node.js·bun
恋猫de小郭9 分钟前
Genkit Dart 1.0 发布,Flutter 原生的 AI Agent 终于完整了
android·前端·flutter
思码梁田17 分钟前
CSS transform 转换详解:translate、rotate、scale、skew 与 3D 变换一次讲清
前端·css·transform·skew·scale·translate·rotate
第10086个小白22 分钟前
flutter桌面端打包方式(Inno Setup Compiler)版本
前端·flutter
派小心.35 分钟前
多端数据分析平台的漏斗可以跨端搭建吗?5 步搭出跨端转化漏斗
大数据·运维·服务器·前端·数据分析
IT_陈寒1 小时前
为什么我的React组件一直在意外重渲染?
前端·人工智能·后端
Su米苏1 小时前
基于 Token 预算的上下文压缩控制器(Context Compaction Controller)
前端·数据库·人工智能
骇客野人1 小时前
Java 开发组件大全覆盖后端主流技术栈(基础、Web、ORM、中间件、微服务、安全、工具、测试、运维、信创适配常用组件)
java·前端·中间件