首页 > 其他分享 >react + electron 应用在线更新功能记录

react + electron 应用在线更新功能记录

时间:2024-03-30 18:33:22浏览次数:23  
标签:console 在线 res update 更新 autoUpdater react electron

这个东西很多人都可能用 electron - update 这个玩意,但是我用了,发现总是更新不了,于是放弃,使用electron 自带功能 

 

主进程 main.js 中引入 

const { autoUpdater } = require('electron-updater');   以下为主要代码,也是放在main.js    autoUpdater.autoDownload = false; // 禁止自动下载更新,以便更改临时目录    // 设置自动更新的服务器地址  autoUpdater.setFeedURL({   provider: 'generic',   url: '',  //更新的对象的路径,这个路径是 一个目录路径。目录中包含更新的安装包、latest.yml 文件,其中latest.yml 文件是打包的时候自动生成的。   serverType: 'json', });
// 监听更新事件 autoUpdater.on('checking-for-update', () => {   console.log('Checking for update...');   });
  autoUpdater.on('update-available', (res) => {   autoUpdater.downloadUpdate();   });

autoUpdater.on('update-not-available', (res) => {   console.log('No updates available.',res);   });
autoUpdater.on('error', (error) => {   console.error('Error in auto-updater: ' + error);   });
autoUpdater.on('download-progress', (progressObj) => {   console.log('Download speed: ' + progressObj.bytesPerSecond);   console.log('Downloaded ' + progressObj.percent + '%');
  });
autoUpdater.on('update-downloaded', (res) => {     dialog.showMessageBox({     type: 'info',     title:'更新提示',     message: '更新安装包已下载,是否现在重启安装新版本?',     buttons: ['是', '否']   }).then((buttonIndex) => {     if (buttonIndex.response === 0) {       autoUpdater.quitAndInstall();     }   }); });   //手动触发用的方法
function checkUpdate() {   autoUpdater.checkForUpdates(); }   以下我要补充一点。是否会检查到更新。两个小坑   1、package.json 中的    "version": "", 版本,一定要低于线上版本才会触发更新,不然就会执行    autoUpdater.on('update-not-available', (res) => {  ,反馈没有更新的内容   2、关于lates.yml  ,里面是包含sha512的,安装包可以更新之后,会对比 latest.yml 的sha512 和的对应的包的sha512 ,只有这两个对的上才会更新成功,否则就会提示 sha512 对不上                  

标签:console,在线,res,update,更新,autoUpdater,react,electron
From: https://www.cnblogs.com/wxhhts/p/18105848

相关文章

  • React基础及React项目
    JSX在React中使用JSX语法(JavaScript扩展)描述用户界面,在React代码执行之前,Babel会将JSX语法转换为标准的JavaScriptAPI。JSX语法就是一种语法糖。让开发人员舒服JSX不同于vue模板的属性值为JavaScript表达式,属性值外面加大括号。constelement=<imgsrc={user......
  • python+django在线政务便民服务系统flask
     随着时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,在线政务服务中心管理当然不能排除在外。在线政务服务中心管理系统是在实际应用和软件工程的开发原理之上,运用python语言以及vue框架进行开发。首先要进行需求分析,分析出在线政......
  • 使用vue2实现在线创建组件的功能
    前言我们使用vue2构建了一个项目,项目有个需求:用户可以在线创建vue组件,创建后的组件可以动态编译,项目无需重新部署,就可以在表单等位置引入使用组件。实现记录引用vue的esm包项目中引入vue的代码,原来是importVuefrom'vue'改为importVuefrom'vue/dist/vue.esm'vue.c......
  • React - 子组件向父组件通信
    本质是利用回调函数进行子向父通信,子组件通过触发由父组件传递的prop函数,并传递数据,父组件执行该prop函数内的回调函数。file:[父子通信]functionSon({onGetMsg}){//1.数据由子组件提供,向父组件传值constsonMsg="thisissonmsg";return(<div>......
  • electron 开发
    教程:https://www.electronjs.org/zh/docs/latest/tutorial/quick-start系统:Windows10工具:PowerShell文件目录:index.htmlmain.jspackage.json和preload.js是手动添加的,其余是编译生成的index.html<!DOCTYPEhtml><html><head><metacharset="UTF-......
  • 基于AI网关的光伏电站在线监测方案
    光伏电站作为利用太阳能的重要方式,凭借其环保、高效和可持续性的优势,在全球范围内得到广泛应用。然而,光伏电站的运营和维护也面临着诸多难点和痛点。在这一背景下,AI智能网关的应用为光伏电站的运营和维护带来了新的突破。 光伏电站运维监测难点痛点 首先,光伏电站的晶板、储......
  • 五款常用在线JavaScript加密混淆工具详解:jscrambler、JShaman、jsfack、ipaguard和jje
    摘要本篇技术博客将介绍五款常用且好用的在线JavaScript加密混淆工具,包括jscrambler、JShaman、jsfack、freejsobfuscator和jjencode。通过对这些工具的功能及使用方法进行详细解析,帮助开发人员更好地保护和加密其JavaScript代码,提升网站的安全性和保密性。 引言在当今......
  • 使用 CRXJS、Vite、TypeScript、React、Zustand、Antd 开发 Chrome 浏览器插件——自
    一、CRXJS一、什么是CRXJS?CRXJSVitePlugin是一款使用现代Web开发技术制作Chrome扩展的工具二、CRXJS的作用CRXJS支持热加载和静态资源导入,无需手动构建配置工具CRXJSVite插件通过将Vite的精细功能与简单的配置策略相结合,简化了Chrome扩展开发者体验二......
  • 【附源码】JAVA计算机毕业设计在线考研刷题系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机在教育领域的应用日益广泛。特别是在线教育平台,以其便捷性、灵活性和资源共享性受到了广大师生的青睐。近年来,考研热潮......
  • 【附源码】JAVA计算机毕业设计在线考试系统的设计与实现(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展和互联网的普及,传统的教育模式正面临着深刻的变革。在线考试系统作为教育信息化进程中的重要一环,正逐渐取代传统的纸质考试方......