electron+vite+vue+ts项目搭建(三)-打包exe上传github,electron-updater自动检测更新
打包上传github,electron-updater自动检测更新
·
打包exe上传github,electron-updater自动检测更新
1.package.json配置
owner 仓库所有者
repo 仓库名称
private //若是私有仓库,则将私有设置为true,同时添加token,反之不需要设置
token github的私有token
releaseType 上传到github的版本类型(draft:草稿,prerelease:提前发行版,release 发行版)
"publish": [
{
"provider": "github",
"owner": "test",
"repo": "electronfile",
"token": "ghp_******************SDJIWDL23C@23",
"releaseType": "release",
"channel": "latest"
}
],
2.electron-updater 获取github文件实现自动更新
2.1、electron/index.ts 新增配置
npm install electron-updater
const { autoUpdater } = require('electron-updater')
const checkUpdate = () => {
console.log("checkUpdate")
//检测更新
autoUpdater.checkForUpdates()
console.log("checkForUpdates")
//正在检查更新。
autoUpdater.on('checking-for-update', () => {
console.log('Checking for update...')
})
//有可用的更新。
autoUpdater.on('update-available', () => {
console.log('found new version')
})
//没有可用的更新。
autoUpdater.on('update-not-available', () => {
console.log('Update not available')
})
//监听'error'事件
autoUpdater.on('error', (err) => {
console.log(err)
})
//更新包下载进度。
autoUpdater.on('download-progress', (progressObj) => {
console.log(`Downloaded ${progressObj.percent}%`)
})
//默认会自动下载新版本,如果不想自动下载,设置autoUpdater.autoDownload = false
//监听'update-downloaded'事件,新版本下载完成时触发
autoUpdater.on('update-downloaded', () => {
console.log('update-downloaded')
dialog.showMessageBox({
type: 'info',
title: '应用更新',
message: '发现新版本,是否更新?',
buttons: ['是', '否']
}).then((buttonIndex) => {
if(buttonIndex.response == 0) { //选择是,则退出程序,安装新版本
autoUpdater.quitAndInstall()
app.quit()
}
})
})
}
更多推荐
已为社区贡献1条内容
所有评论(0)