首页
归档
笔记
树洞
搜索
友言

文章详情

Interesting People Record Interesting.

/ JavaScript / 文章详情

electron-vite electron-updater软件自动更新

Sonder
14小时前
1784字
4分钟
浏览 (14)

第一步

假设这是远程服务器目录列表。可以通过连接访问yml远程目录必须要提前有文件这些。

image.png
image.png

第二步

electron-builder.json5添加以下代码:

image.png
复制代码
publish: [
  {
    provider: "generic",
    url: "http://127.0.0.2"
  }
],

第三步

electron/main添加自动打包的方法

image.png
复制代码
// index.ts
import autoUpdater from "./autoUpdater";


app.whenReady().then(() => {
  createWindow();
  // 一次更新检车
  autoUpdater();
});
  1. autoUpdater方法
复制代码
// autoUpdater.js
import { dialog } from "electron";
import pkg from "electron-updater";
const { autoUpdater } = pkg;

//自动下载更新
autoUpdater.autoDownload = false;
//退出时自动安装更新
autoUpdater.autoInstallOnAppQuit = false;

export default () => {
  // 设置更新源url
  autoUpdater.setFeedURL("http://127.0.0.2:80");
  //检查是否有更新
  autoUpdater.checkForUpdates();

  //有新版本时
  autoUpdater.on("update-available", _info => {
    console.log("有新版本");
    dialog
      .showMessageBox({
        type: "warning",
        title: "更新提示",
        message: "有新版本发布了",
        buttons: ["更新", "取消"],
        cancelId: 1
      })
      .then(res => {
        if (res.response == 0) {
          //开始下载更新
          autoUpdater.downloadUpdate();
        }
      });
  });

  //没有新版本时
  autoUpdater.on("update-not-available", _info => {
    console.log("没有更新");
  });

  //更新下载完毕
  autoUpdater.on("update-downloaded", _info => {
    //退出并安装更新
    autoUpdater.quitAndInstall();
  });

  //更新发生错误
  autoUpdater.on("error", _info => {
    console.log("更新时发生错误");
  });

  // 监听下载进度
  autoUpdater.on("download-progress", progress => {
    console.log(`更新进度,${JSON.stringify(progress)}`);
  });
};

第四步,注意项

第1. 打包之前的时候要修改package.json里面的版本号

复制代码
"version": "0.0.4",

第2. 每次打包好的文件要上传到远程目录

image.png

第3. 重启软件的时候就会出现更新提示

image.png

第4. 必须保证远程exe文件可以下载

http://127.0.0.2/electron-pure-admin_0.0.4.exe

image.png
下一篇 / 电脑插上音响没声音的解决方法

🎯 相关文章

💡 推荐文章

🕵️‍♂️ 评论 (0)