electron-updater更新

本文介绍了如何利用electron-updater实现全量自升级,详细讲解了配置vue.config.js,设置软件更新服务地址,关键代码实现,包括前端Update.vue组件、checkupdate.js和主进程的自动升级。同时提到了注意事项,如progress事件、自动更新包的处理,并提到灰度发布的实现方式。
摘要由CSDN通过智能技术生成

通过electron-updater方案进行 全量 自升级方案图如下:

这里列出所使用的环境:

  • NodeJS v14.16.1(x64)
  • electron :13.6.9
  • @vue/cli : 4.5.0
  • vue-cli-plugin-electron-builder : 2.1.1
  • electron-updater : 5.2.1

一、插件

1、electron-updater 

npm install electron-updater --save

二、配置

1、配置vue.config.js

        在vue.config.js文件中配置publish字段,用来生成latest.yml文件,该文件是用来判断版本升级的,在打包过程中生成。

        一旦修改了latest.yml文件,则需要重新打包生成,否则更新失败。这里也可以不配置url字段,在main.js中手动配置,使用autoUpdater.setFeedURL方法配置即可。

pluginOptions: {
    electronBuilder: {
        builderOptions: {
            "publish": [{
                "provider": "generic",
                "url": ''//例如http://192.168.3.233:8088,可不填
            }],
        },
    }
},

2、配置软件更新服务地址

这边借用phpstudy应用软件来做服务配置,配置如下:

server {
        listen        8088;
        server_name  localhost;
        root   "E:/vue-electron-demo-up";
        location / {
            try_files $uri $uri/ /index.html;
            error_page 400 /error/400.html;
            error_page 403 /error/403.html;
            error_page 404 /error/404.html;
            error_page 500 /error/500.html;
            error_page 501 /error/501.html;
            error_page 502 /error/502.html;
            error_page 503 /error/503.html;
            error_page 504 /error/504.html;
            error_page 505 /error/505.html;
            error_page 506 /error/506.html;
            error_page 507 /error/507.html;
            error_page 509 /error/509.html;
            error_page 510 /error/510.html;
            include E:/vue-electron-demo-up/nginx.htaccess;
            autoindex  on;
            autoindex_exact_size off;
            autoindex_localtime on;
        }
        location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }
}

重启nginx服务后,在浏览器打开验证,如下所示: 

 三、关键代码

1、前端Update.vue组件

<template>
    <div class="m-update-soft">
        <el-button class="m-button
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值