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 文件。
相关推荐
钛态8 小时前
Vite 中的 CSS 工程化:从 CSS Modules 到 UnoCSS 的渐进式迁移
前端·vue·react·web
Csvn9 小时前
原型链、this 与闭包内存:三座深水区一次打通(含内存泄漏排查实战)
前端·javascript
葡萄城技术团队10 小时前
如何通过 JSON 数据源 / Web API 快速构建轻量级报表(Report)?
前端·json·原型模式
万维易源10 小时前
趣味项目素材|免费脑筋急转弯查询接口实战接入教程
javascript·免费api·脑筋急转弯查询·脑筋急转弯接口
浪兎兎10 小时前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
Patrick_Wilson11 小时前
iOS Safari Clipboard API 权限弹窗问题
前端·ios·safari
OpenTiny社区11 小时前
Naive UI × GenUI SDK:自定义物料库搭建实战
前端·ai编程
kyriewen12 小时前
我拿 4 个真实前端任务试了 GLM-5.3 Flash:代码一遍跑通,账单 4 分钱
前端·程序员·ai编程
IT_陈寒12 小时前
Vue的响应式更新有时候真的不听话
前端·人工智能·后端