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 文件。
相关推荐
SchuylerEX6 分钟前
第六章 JavaScript 互操(2).NET调用JS
前端·c#·.net·blazor·ui框架
东风西巷1 小时前
Rubick:基于Electron的开源桌面效率工具箱
前端·javascript·electron·软件需求
探码科技1 小时前
AI知识管理软件推荐:九大解决方案与企业应用
前端·ruby
编程小黑马2 小时前
解决flutter 在控制器如controller 无法直接访问私有类方法的问题
前端
Miracle_G2 小时前
每日一个知识点:JavaScript 箭头函数与普通函数比较
javascript
unfetteredman2 小时前
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
前端·javascript·vite
云存储小精灵2 小时前
Dify x 腾讯云 COS MCP:自然语言解锁智能数据处理,零代码构建 AI 新世界
前端·开源
山间板栗2 小时前
微信小程序环境变量设置方案
前端
电商API大数据接口开发Cris2 小时前
Java Spring Boot 集成淘宝 SDK:实现稳定可靠的商品信息查询服务
前端·数据挖掘·api
pepedd8642 小时前
LangChain:大模型开发框架的全方位解析与实践
前端·llm·trae