![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Electron
yidichaxiang
职务主要负责系统项目及软件产品的架构设计、开发管理与控制。
目前主要负责容器化和微服务化的系统改造
展开
-
Electron.js API参考——重大变化
重大变化此处将记录重大更改,并在可能的情况下(至少在进行更改之前)至少在一个主要版本中向JS代码添加弃用警告。重大变化的类型本文档使用以下约定对重大更改进行分类:更改了API:对API进行了更改,以确保未更新的代码会引发异常。 行为已更改:Electron的行为已更改,但未必会引发异常。 默认值已更改:取决于旧默认值的代码可能会中断,不一定会引发异常。可以通过显式指定值来恢复旧的行为。 不推荐使用:API被标记为不推荐使用。该API将继续运行,但会发出弃用警告,并将在以后的版...翻译 2020-10-28 14:26:08 · 1389 阅读 · 1 评论 -
Electron.js API参考——Chrome扩展程序支持
Chrome扩展程序支持Electron支持Chrome扩展API的子集,主要是为了支持DevTools扩展和Chromium内部扩展,但它也支持其他一些扩展功能。注意:Electron不支持商店中的任意Chrome扩展,并且与Chrome的扩展实现完全兼容,这不是Electron项目的目标。加载扩展Electron仅支持加载解压的扩展名(即.crx文件不起作用)。扩展是按每个安装的session。要加载扩展,请调用ses.loadExtension:const { se...翻译 2020-10-23 16:17:11 · 1900 阅读 · 0 评论 -
Electron.js API参考——环境变量
环境变量在不更改代码的情况下控制应用程序的配置和行为。某些Electron行为受环境变量控制,因为它们的初始化早于命令行标志和应用程序的代码。POSIX shell示例:$ export ELECTRON_ENABLE_LOGGING=true$ electronWindows控制台示例:> set ELECTRON_ENABLE_LOGGING=true> electron生产变量以下环境变量主要旨在在打包的Electron应用程序中的运行时使.翻译 2020-10-23 16:10:00 · 1778 阅读 · 0 评论 -
Electron.js API参考——支持的命令行开关
支持的命令行开关Electron支持的命令行开关。您可以使用app.commandLine.appendSwitch将它们附加到应用程序的主脚本中,然后发出app模块的ready事件:const { app } = require('electron')app.commandLine.appendSwitch('remote-debugging-port', '8315')app.commandLine.appendSwitch('host-rules', 'MAP * 127.0..翻译 2020-10-23 16:03:29 · 3515 阅读 · 0 评论 -
Electron.js API参考——process
进程进程程对象的扩展。进程:主进程,渲染器进程Electron的process对象是从Node.jsprocess对象扩展的。它添加了以下事件,属性和方法:沙盒在沙盒渲染器中,process对象仅包含API的子集:crash() hang() getCreationTime() getHeapStatistics() getBlinkMemoryInfo() getProcessMemoryInfo() getSystemMemoryInfo() getS...翻译 2020-10-23 15:54:39 · 1867 阅读 · 0 评论 -
Electron.js API参考——Synopsis
概要如何使用Node.js和Electron API。所有的Node.js内置模块都可以在Electron中使用,第三方节点模块(也包括本地模块)也得到完全支持。Electron还提供了一些额外的内置模块,用于开发本机桌面应用程序。一些模块仅在主流程中可用,某些模块仅在渲染器流程(网页)中可用,而某些模块可在两个流程中使用。基本规则是:如果模块与GUI或低级系统相关,则它应仅在主进程中可用。您需要熟悉主流程与渲染器流程脚本的概念,才能使用这些模块。主要流程脚本类似于普通的Node..翻译 2020-10-23 15:25:05 · 266 阅读 · 0 评论 -
Electron.js指南——Mac App Store提交指南
Mac App Store提交指南从v0.34.0开始,Electron允许将打包的应用程序提交到Mac App Store(MAS)。本指南提供以下信息:如何提交您的应用程序以及MAS构建的局限性。注意:向Mac App Store提交应用程序需要注册Apple Developer Program,该程序需要付费。如何提交您的应用以下步骤介绍了一种将应用程序提交到Mac App Store的简单方法。但是,这些步骤不能确保您的应用将被Apple批准;您仍然需要阅读Apple的Subm.翻译 2020-10-23 15:01:24 · 1268 阅读 · 0 评论 -
Electron.js指南——Windows应用商店指南
Windows应用商店指南在Windows 10中,良好的旧win32可执行文件有了新的同级文件:Universal Windows Platform。新.appx格式不仅启用了许多新的强大API(如Cortana或Push Notifications),而且还通过Windows应用商店简化了安装和更新。微软开发了一种工具,可以将Electron应用程序.appx打包为软件包,从而使开发人员可以使用新应用程序模型中的某些功能。本指南说明了如何使用它-以及Electron AppX软件包的功能和局限.翻译 2020-10-23 15:01:18 · 882 阅读 · 0 评论 -
Electron.js指南——Snapcraft指南
Snapcraft指南(Ubuntu软件中心及更多)本指南提供有关如何为任何Snapcraft环境(包括Ubuntu软件中心)打包Electron应用程序的信息。背景和要求Canonical与更广泛的Linux社区一起致力于解决该snapcraft项目中的许多常见软件安装问题。快照是容器化的软件包,其中包括必需的依赖项,自动更新以及可以在所有主要Linux发行版上运行而无需进行系统修改。有三种创建.snap文件的方法:1)使用electron-forge或electron-bui..翻译 2020-10-23 15:01:11 · 573 阅读 · 0 评论 -
Electron.js指南——Electron支持
Electron支持寻找支持如果您有安全方面的顾虑,请参阅安全文档。如果您正在寻找编程帮助,问题的答案或与使用Electron的其他开发人员进行讨论,则可以在以下位置与社区进行交互:electroncategory on the Atom forums #atom-shellchannel on Freenode #electronchannel onAtom's Slack electron-ru(Russian) electron-br(Brazilian Po...翻译 2020-10-23 15:01:05 · 617 阅读 · 0 评论 -
Electron.js指南——应用分发
应用分发要使用Electron分发您的应用,您需要对其打包并重新命名。最简单的方法是使用以下第三方打包工具之一:electron-forge electron-builder electron-packager这些工具将协助您完成可分发的Electron应用程序所需的所有步骤,例如打包应用程序,为可执行文件重新命名,设置正确的图标以及创建安装程序(可选)。手动分发您还可以选择手动准备好要分发的应用程序。下面概述了执行此操作所需的步骤。要使用Electron分发您的应用程序,您.翻译 2020-10-23 15:00:59 · 494 阅读 · 0 评论 -
Electron.js指南——自动化测试
使用自定义驱动程序进行自动化测试要为您的Electron应用程序编写自动化测试,您将需要一种“驱动”应用程序的方法。Spectron是一种常用的解决方案,可让您通过WebDriver模拟用户操作。但是,也可以使用节点的内置IPC-over-STDIO编写自己的自定义驱动程序。自定义驱动程序的好处是,与Spectron相比,它需要的开销更少,并且可以将自定义方法公开给测试套件。要创建自定义驱动程序,我们将使用Node.js的child_processAPI。测试套件将产生Electron进程,然后..翻译 2020-10-20 10:16:34 · 2358 阅读 · 0 评论 -
Electron.js指南——DevTools扩展
DevTools扩展Electron支持Chrome DevTools扩展程序,该扩展程序可用于扩展devtools的功能,以调试流行的Web框架。如何加载DevTools扩展本文档概述了手动加载扩展程序的过程。您也可以尝试使用electron-devtools-installer这个第三方工具,直接从Chrome WebStore下载扩展程序。要在Electron中加载扩展程序,您需要在Chrome浏览器中下载扩展程序,找到其文件系统路径,然后通过调用BrowserWindow.a..翻译 2020-10-20 10:12:30 · 1217 阅读 · 0 评论 -
Electron.js指南——在Headless CI系统上进行测试(Travis CI,Jenkins)
在Headless CI系统上进行测试(Travis CI,Jenkins)基于Chromium,Electron需要显示驱动器才能起作用。如果Chromium找不到显示驱动程序,Electron将无法启动-因此将不执行任何测试,无论您如何运行它们。因此,在Travis,Circle,Jenkins或类似系统上测试基于Electron的应用程序需要一些配置。本质上,我们需要使用虚拟显示驱动程序。配置虚拟显示服务首先,安装Xvfb。这是一个虚拟的帧缓冲区,实现了X11显示服务器协议-它在内存.翻译 2020-10-20 10:09:42 · 406 阅读 · 0 评论 -
Electron.js指南——测试使用Selenium和WebDriver
使用Selenium和WebDriver从ChromeDriver-WebDriver for Chrome:WebDriver是一个开源工具,可用于跨多种浏览器自动测试Web应用程序。它提供了导航到网页,用户输入,JavaScript执行等功能。ChromeDriver是独立的服务器,可为Chromium实现WebDriver的有线协议。它是由Chromium和WebDriver团队的成员开发的。设置SpectronSpectron是官方支持的Electron ChromeDri.翻译 2020-10-20 10:05:11 · 1414 阅读 · 0 评论 -
Electron.js指南——调试主进程
调试主进程Electron浏览器窗口中的DevTools只能调试在该窗口(即网页)中执行的JavaScript。要调试在主要过程中执行的JavaScript,您将需要使用外部调试器,并使用--inspect或--inspect-brk开关启动Electron。命令行开关使用以下命令行开关之一来启用主进程的调试:--inspect=[port]Electron将在指定port的端口上侦听V8检查器协议消息,需要在此端口上连接外部调试器。默认port值为5858。elec...翻译 2020-10-20 09:57:45 · 528 阅读 · 0 评论 -
Electron.js指南——应用程序调试
应用程序调试每当您的Electron应用程序没有按照您希望的方式运行时,一系列调试工具可能会帮助您发现编码错误,性能瓶颈或优化机会。渲染进程Chromium Developer Toolset是调试单个渲染器进程的最全面的工具。它适用于所有的渲染过程,包括的实例BrowserWindow,BrowserView以及WebView。您可以通过在实例的openDevTools()上调用API以编程方式打开它们webContents:const { BrowserWindow } = r..翻译 2020-10-20 09:55:42 · 1318 阅读 · 0 评论 -
Electron.js指南——辅助功能
辅助功能提供辅助应用程序很重要,并且我们很高兴为Devtron和Spectron提供功能,并为开发人员提供了使他们的应用程序更好地适合所有人的机会。Electron应用程序中的可访问性问题与网站类似,因为它们最终都是HTML。但是,对于Electron应用程序,您无法使用在线资源进行可访问性审核,因为您的应用程序没有指向审核员指向的URL。这些功能将这些审核工具带到您的Electron应用程序中。您可以选择使用Spectron将审核添加到测试中,也可以在DevTools中使用Devtron来使.翻译 2020-10-20 09:43:19 · 476 阅读 · 0 评论 -
Electron.js指南——Web嵌入Electron
Web嵌入Electron如果要将Web内容(第三方)嵌入到Electron中BrowserWindow,则可以使用三个选项:<iframe>标签,<webview>标签和BrowserViews。每个选项提供的功能略有不同,在不同情况下很有用。为了帮助您在这两者之间进行选择,本指南将说明两者的区别和功能。iframeElectron中的iframe行为类似于在常规浏览器中的iframe。<iframe>页面中的元素可以显示外部网页,前提是其内容安全策略.翻译 2020-10-20 09:33:16 · 2204 阅读 · 0 评论 -
Electron.js指南——屏幕外渲染
屏幕外渲染屏幕外渲染使您可以在位图中获取浏览器窗口的内容,因此可以将其渲染到任何位置,例如在3D场景中的纹理上。Electron中的屏幕外渲染使用与Chromium Embedded Framework项目类似的方法。可以使用两种渲染方式,并且只有脏区域才可以通过,'paint'以提高效率。渲染可以停止,继续并可以设置帧频。指定的帧速率是一个最高限值,当网页上没有任何事件发生时,则不会生成任何帧。最大帧速率为60,因为在此之上没有好处,只有性能损失。注意:屏幕外窗口始终创建为无框架窗口。...翻译 2020-10-20 09:33:07 · 1434 阅读 · 0 评论 -
Electron.js指南——本地文件拖放
本地文件拖放总览某些类型的操作文件的应用程序可能希望支持操作系统的本机文件拖放功能。将文件拖放到Web内容中是很常见的,并且被许多网站支持。Electron还支持将文件和内容从Web内容拖出到操作系统的世界中。要在您的应用中实现此功能,您需要调用webContents.startDrag(item)API以响应该ondragstart事件。例从《快速入门指南》中的可用应用程序开始,将以下行添加到index.html文件中:<a href="#" id="d...翻译 2020-10-20 09:32:51 · 1543 阅读 · 0 评论 -
Electron.js指南——在线/离线事件检测
在线/离线事件检测在渲染器过程中可以使用标准HTML5 API的一部分navigator.onLine属性实现联机和脱机事件检测。如果保证任何网络请求都失败,即绝对脱机(与网络断开连接),则该navigator.onLine属性返回false。在其他所有情况下都会返回true。由于所有其他条件都返回了true,因此必须谨防误报,因为我们不能假设true价值必然意味着Electron可以访问互联网。例如,当计算机运行的虚拟化软件具有始终“连接”的虚拟以太网适配器时。因此,如果您确实要确定Electro..翻译 2020-10-19 22:26:00 · 691 阅读 · 0 评论 -
Electron.js指南——键盘快捷键
键盘快捷键配置本地和全局键盘快捷键本地快捷方式您可以使用“菜单”模块配置仅在应用程序集中时才会触发的键盘快捷键。为此,请accelerator在创建MenuItem时指定一个属性。const { Menu, MenuItem } = require('electron')const menu = new Menu()menu.append(new MenuItem({ label: 'Print', accelerator: 'CmdOrCtrl+P'...翻译 2020-10-19 22:19:18 · 1061 阅读 · 0 评论 -
Electron.js指南——自定义Linux桌面启动器操作
自定义Linux桌面启动器操作在许多Linux环境中,可以通过修改.desktop文件将自定义条目添加到其启动器。有关Canonical的Unity文档,请参见向启动器添加快捷方式。有关更通用的实现的详细信息,请参见freedesktop.org规范。Audacious的启动器快捷方式:一般来说,快捷方式是通过为快捷方式菜单中的每个条目提供Name和Exec属性来添加的。Exec用户单击后,Unity将执行该字段。格式如下:Actions=PlayPause;Next;Prev..翻译 2020-10-19 17:36:16 · 516 阅读 · 0 评论 -
Electron.js指南——Windows任务栏
Windows任务栏Electron具有用于在Windows任务栏中配置应用程序图标的API。支持的是一个创建JumpList,自定义缩略图和工具栏,图标覆盖,以及所谓的“闪框”效果,但Electron也使用app的Dock图标来实现类似的跨平台特性最近的文件和应用进展。跳转列表Windows允许应用程序定义自定义上下文菜单,当用户右键单击任务栏中的应用程序图标时,将显示该菜单。该上下文菜单称为JumpList。您可以在TasksJumpList类别中指定自定义操作,如MSDN所...翻译 2020-10-19 17:32:24 · 2500 阅读 · 0 评论 -
Electron.js指南——macOS Dock
macOSDockElectron具有用于在macOS Dock中配置应用程序图标的API。存在一个仅限macOS的API来创建自定义停靠菜单,但是Electron还使用该应用的停靠图标来实现跨平台功能,例如最新文档和应用程序进度。自定义停靠栏通常用于为用户不想为其打开整个应用程序窗口的任务添加快捷方式。Terminal.app的码头菜单:要设置自定义停靠菜单,可以使用app.dock.setMenu仅在macOS上可用的API:const { app, Menu } = r...翻译 2020-10-19 17:25:40 · 535 阅读 · 0 评论 -
Electron.js指南——任务栏上的进度栏
任务栏上的进度栏(Windows,macOS,Unity)在Windows上,可以使用任务栏按钮显示进度栏。这使得窗口能够向用户提供进度信息,而用户不必切换到窗口本身。在macOS上,进度条将显示为停靠图标的一部分。Unity DE还具有类似的功能,可让您在启动器中指定进度条。任务栏按钮中的进度栏:所有这三种情况都由相同的API覆盖-BrowserWindows实例上可用的setProgressBar()方法。用0和1之间的数字来调用它以指示您的进度。如果您有一项长期任务..翻译 2020-10-19 17:22:37 · 941 阅读 · 0 评论 -
Electron.js指南——近期文档
最新文件(Windows和macOS)Windows和macOS分别通过JumpList或停靠菜单提供对应用程序打开的最近文档列表的访问。跳转列表:应用程序停靠菜单:要将文件添加到最新文档中,可以使用app.addRecentDocumentAPI:const { app } = require('electron')app.addRecentDocument('/Users/USERNAME/Desktop/work.type')您可以使用app.c...翻译 2020-10-19 17:16:56 · 437 阅读 · 0 评论 -
Electron.js指南——通知
通知(Windows,Linux,macOS)这三个操作系统都为应用程序提供了向用户发送通知的方法。Electron方便地允许开发人员使用HTML5 Notification API发送通知,使用当前运行的操作系统的本机通知API来显示通知。注意:由于这是HTML5 API,因此仅在渲染器过程中可用。如果要在主要过程中显示通知,请签出“通知”模块。const myNotification = new Notification('Title', { body: 'Lorem Ipsum ..翻译 2020-10-19 17:11:16 · 1101 阅读 · 0 评论 -
Electron.js指南——样板和CLIs
样板和CLIElectron开发不受限制-没有开发,构建,打包或发布电子应用程序的“真正方法”。通常在npm的单独软件包中可以找到Electron的附加功能,包括构建时和运行时的附加功能,使开发人员可以构建应用程序并构建所需的管道。如此高的模块化和可扩展性确保了与Electron合作的所有开发人员,无论团队规模大小,在开发生命周期中的任何时间都不会受到限制。但是,对于许多开发人员而言,社区驱动的样板或命令行工具之一可能会大大简化编译,打包和发布应用程序的过程。样板vs CLI一个样板..翻译 2020-10-19 16:06:43 · 162 阅读 · 0 评论 -
Electron.js指南——快速入门指南
快速开始Electron是一个框架,使您可以使用JavaScript,HTML和CSS创建桌面应用程序。然后可以将这些应用程序打包以直接在macOS,Windows或Linux上运行,或通过Mac App Store或Microsoft Store分发。通常,您使用每个操作系统的特定原生应用程序框架为操作系统(OS)创建桌面应用程序。Electron使得您可以使用已知技术来编写应用程序。先决条件在使用Electron处理之前您需要安装Node.js的。我们建议您安装最新的LTS或Cur.翻译 2020-10-19 15:52:26 · 2686 阅读 · 0 评论