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();
  })
}
阅读 1.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题