×

Electron 教程

Electron 教程简介Electron 快速入门Electron 桌面环境集成Electron 在线/离线事件探测Electron 进程支持的 Chrome 命令行开关Electron 环境变量Electron 支持的平台Electron 应用部署Mac App Store 应用提交向导Electron 应用打包Electron 使用原生模块Electron 主进程调试使用 Selenium 和 WebDriverElectron DevTools扩展使用 Pepper Flash 插件使用 Widevine CDM 插件Electron 术语表Electron 离屏渲染Electron 交互式解释器 (REPL)Electron 自动更新功能autoUpdater

Electron API

Electron DOM File对象Electron DOM <webview>Electron window.open 函数

在主进程内可用的模块

Electron app 模块Electron autoUpdater 模块Electron BrowserWindow 模块Electron contentTracing 模块Electron dialog 模块Electron global-shortcut 模块Electron ipcMain 模块Electron menu 模块Electron MenuItem 模块Electron powerMonitor 模块Electron powerSaveBlockerElectron protocol 模块Electron session 模块Electron webContents 模块Electron Tray 模块Electron Locales

在渲染进程(网页)可用模块

Electron desktopCapturer模块Electron ipcRenderer 模块Electron remote 模块Electron webFrame 模块

两种进程都可用的模块

Electron clipboard 模块Electron crashReporter 模块Electron nativeImage 模块Electron screen 模块Electron shell 模块

Electron 开发

Electron 编码规范Electron 源码目录结构Electron 和 NW.js技术上的差异Electron 构建系统概览Electron 构建步骤 (OS X)Electron 构建步骤 (Windows)Electron 构建步骤 (Linux)调试中使用 Symbol ServerElectron 常见问题Electron 版本管理electron window 提交指南自动化持续集成系统(CI)测试Electron 文档风格指南

Electron 自动更新功能autoUpdater


autoUpdater 

启用应用程序自动更新。

过程: main

autoUpdater模块为Squirrel框架提供了一个界面。

您可以通过使用以下任一项目快速启动多平台发布服务器来分发应用程序:

  • 坚果 : 您的应用程序的智能版本服务器,使用GitHub作为后端。 用Squirrel(Mac&Windows)自动更新
  • 电子发布服务器 : 一个功能齐全的自主发布的电子应用服务器,与自动更新兼容
  • squirrel-updates-server : 用于Squirrel.Mac和Squirrel.Windows的简单node.js服务器,它使用GitHub版本
  • squirrel-release-server : 一个用于Squirrel.Windows的简单PHP应用程序,用于从文件夹读取更新。 支持增量更新。

不同平台差异

虽然autoUpdater为不同的平台提供了一个统一的API,但每个平台上仍然存在一些微妙的差异。

MACOS 

在macOS上, autoUpdater模块基于 Squirrel.Mac ,这意味着您不需要任何特殊的设置来使其工作。 对于服务器端要求,您可以阅读服务器支持 。 请注意, 应用程序传输安全性 (ATS)适用于作为更新过程一部分的所有请求。 需要禁用ATS的应用程序可以将NSAllowsArbitraryLoads键添加到其应用程序的plist中。

注意:您的应用程序必须签名才能自动更新macOS。 这是Squirrel.Mac的要求。


windows


在Windows上,您必须先将自己的应用程序安装到用户的机器中,然后才能使用autoUpdater ,因此建议您使用electronic-winstaller ,  electron-forgegrunt-electron-installer软件包来生成Windows安装程序。

当使用electronic-winstaller电子伪造时,请确保您第一次运行时不尝试更新应用程序(另请参阅 此问题以获取更多信息 )。 还建议您使用电子松鼠启动来获取您的应用程序的桌面快捷方式。

使用 Squirrel 生成的安装程序将以com.squirrel.PACKAGE_ID.YOUR_EXE_WITHOUT_DOT_EXE的格式创建一个应用程序用户模型ID的快捷方式图标,示例为com.squirrel.slack.Slack和com.squirrel.code.Code 。 您必须使用app.setAppUserModelId API为您的应用使用相同的ID,否则Windows将无法在任务栏中正确引导您的应用。

与Squirrel.Mac不同,Windows可以在S3或任何其他静态文件主机上托管更新。 您可以阅读Squirrel.Windows的文档,以获取有关Squirrel.Windows如何工作的更多详细信息。

Linux

在Linux上没有自动更新程序的内置支持,因此建议使用发行版的软件包管理器来更新应用程序。


Events

autoUpdater对象发出以下事件:

事件:'错误' 

返回:

  • error错误

更新时发生错误时发出。

事件:'检查更新' 

检查更新是否已启动时发出。

事件:'更新可用' 

当有可用更新时发出。 更新将自动下载。

事件:'update-not-available' 

当没有可用更新时发出。

事件:'更新下载' 

返回:

  • event事件
  • releaseNotes字符串
  • releaseName字符串
  • releaseDate Date
  • updateURL String

下载更新时发出。

在Windows上,只有releaseName可用。

方法 

autoUpdater对象具有以下方法:

autoUpdater.setFeedURL(url[, requestHeaders]) 

  • url String
  • requestHeaders对象macOS (可选) - HTTP请求头。

设置url并初始化自动更新程序。

autoUpdater.getFeedURL() 

返回String - 当前的更新Feed URL。

autoUpdater.checkForUpdates() 

请求服务器是否有更新。 在使用此API之前,您必须调用setFeedURL 。

autoUpdater.quitAndInstall() 

重新启动应用程序,并在安装更新后下载。 只有在update-downloaded后才应该调用它。

注意: autoUpdater.quitAndInstall()将首先关闭所有应用程序窗口,然后才在app之后发出before-quit事件。 这与正常退出事件序列不同。





分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)