Electron autoupdater进度条

Pir*_*zek 5 javascript electron squirrel.windows

有没有办法设置一个进度条,用于在Electron下载应用程序的新更新?我正在使用Squirrel为Windows开发应用程序electron-simple-updater,我的问题是更新程序只在它开始下载更新和完成时发出事件.我的更新有点大(约80MB),对于ISP较慢的用户,它有点sux :(

Dar*_*ain 6

const log = require('electron-log');
const { autoUpdater } = require("electron-updater");
autoUpdater.logger = log;
log.info('App starting...');    
autoUpdater.on('download-progress', (progressObj) => {
    let log_message = "Download speed: " + progressObj.bytesPerSecond;
    log_message = log_message + ' - Downloaded ' + progressObj.percent + '%';
    log_message = log_message + ' (' + progressObj.transferred + "/" + progressObj.total + ')';
    sendStatusToWindow(log_message);
})

function sendStatusToWindow(text) {
    log.info(text);
    homePageWindow.webContents.send('message', text);
}
Run Code Online (Sandbox Code Playgroud)

通过这段代码可以看到log来查看下载进度

  • `Math.round(progressObj.percent)` (3认同)
  • 注意:包 `require("electron-updater")` 严格适用于 Electron Builder,不适用于本机 Electron。如果您不使用 Electron Builder,则无法导入和使用此包,如此处所示。 (2认同)

GWo*_*ing 4

也许这个链接给了你想要的

https://github.com/iffy/electron-updater-example/blob/master/main.js

autoUpdater.on('download-progress', (ev, progressObj) => {
  sendStatusToWindow('Download progress...');
})
Run Code Online (Sandbox Code Playgroud)