electron-vue开发的桌面软件如何使用electron-updater自动更新?
最近在搞electron-vue开发桌面软件,自然而然就遇到了软件自动更新的问题。谷歌搜了搜发现electron-updater可以用来自动更新,但是我不清楚具体怎么配置。
按照我理解的意思是autoUpdater.checkForUpdates()会去http://127.0.0.1:8088/latest这个链接去获取最新的软件,然后比较差异再决定是否更新。但是我不知道这个链接应该是什么样的文件,是打包好的setup.exe吗?
这样配置是否正确呢?请大佬帮帮忙看看。
下面是当前关键代码
package.json
build: {
...
"publish": [
{
"provider": "generic",
"url": "http://127.0.0.1:8088/latest"
}
...
}
main/index.js
import { autoUpdater } from "electron-updater"
...
function createWindow () {
/**
* Initial window options
*/
mainWindow = new BrowserWindow({
height: 563,
useContentSize: true,
width: 1000
})
mainWindow.loadURL(winURL)
mainWindow.on('closed', () => {
mainWindow = null
})
updateHandle()
autoUpdater.checkForUpdates()
}
app.on('ready', createWindow)
...
function updateHandle () {
autoUpdater.setFeedURL('http://127.0.0.1:8088/latest');
autoUpdater.on('error', function () {
mainWindow.webContents.send('message', 'error')
});
autoUpdater.on('checking-for-update', function () {
mainWindow.webContents.send('message', 'checking')
});
autoUpdater.on('update-available', function () {
mainWindow.webContents.send('message', 'update')
});
autoUpdater.on('update-not-available', function () {
mainWindow.webContents.send('message', 'is_new')
});
autoUpdater.on('update-downloaded', function () {
ipcMain.on('isUpdateNow', () => {
autoUpdater.quitAndInstall();
});
mainWindow.webContents.send('isUpdateNow')
});
ipcMain.on('update-version', () => {
autoUpdater.checkForUpdates();
})
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论