vue+electron开发桌面端应用并实现自动更新

新建项目

安装electron

添加打包工具

安装后src下会生成background.js文件

package.json也会生成对应的命令

并把background.js作为入口文件

background.js

运行 electron:serve 命令就可以启动成功了。

打包运行 electron:build命令

更多配置参考 electron官方文档

自动更新 electron-updater

1、安装依赖 yarn add electron-updater

2、自定义更新的文件 handleUpdate.js

注: 打包完会生成一个latest.yml文件,把这个文件和生成的.exe文件放在服务器上,会自动检测版本

vue+electron开发桌面端应用并实现自动更新
import {	autoUpdater} from 'electron-updater'import {	ipcMain,dialog} from 'electron'let mainWindow = null;export function handleUpdate(window, feedUrl) {	mainWindow = window;	let message = {		error: '检查更新出错',		checking: '正在检查更新……',		updateAva: '检测到新版本,正在下载……',		updateNotAva: '现在使用的就是最新版本,不用更新',	};`autoUpdater.autoDownload = false;` //取消自动下载	//设置更新包的地址	autoUpdater.setFeedURL(feedUrl);	//监听升级失败事件	autoUpdater.on('error', function(error) {		sendUpdateMessage({			cmd: 'error',			message: error		})	});	//监听开始检测更新事件	autoUpdater.on('checking-for-update', function(message) {		sendUpdateMessage({			cmd: 'checking-for-update',			message: message		})	});	//监听发现可用更新事件	autoUpdater.on('update-available', function(message) {		sendUpdateMessage({			cmd: 'update-available',			message: message		})		//新加内容		`const options = {			type: 'info',			buttons: ['确定', '取消'],			title: '更新提示',			message: '发现有新版本,是否更新,			cancelId: 1		}		dialog.showMessageBox(options).then(res => {			if (res.response === 0) {				sendUpdateMessage({					cmd: 'confimUpdate',					message: message				})				autoUpdater.downloadUpdate()			} else {				return;			}		})`	});	//监听没有可用更新事件	autoUpdater.on('update-not-available', function(message


                                                        

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月11日
下一篇 2022年9月11日

相关推荐