API 参考

如何使用 Node.js 和 Electron APIs

Node. js 的所有 内置模块 都在Electron中可用， 第三方 node 模块中也完全支持 (包括 原生模块 )。

Electron 还为开发原生桌面应用程序提供了一些额外的内置模块。 某些模块仅在主进程中可用, 有些仅在渲染进程 (web 页) 中可用, 而有些在这两个进程中都可以使用。

基本规则是: 如果一个模块是 GUI 或底层系统相关的, 那么它应该只在主进程中可用。 You need to be familiar with the concept of main process vs. renderer process scripts to be able to use those modules.

API	Processes	Description
快捷键		定义键盘快捷键。
app	Main	控制你的应用程序的生命周期事件。
autoUpdater	Main	Enable apps to automatically update themselves.
BrowserView		创建和控制视图
BrowserWindow	Main	创建并控制浏览器窗口。
类: BrowserWindowProxy		操纵子浏览器窗口
类: ClientRequest		发起HTTP/HTTPS请求.
剪贴板		在系统剪贴板上执行复制和粘贴操作。
类: CommandLine		操作Chromium读取的应用程序的命令行参数
支持的命令行开关		Electron支持的命令行开关.
contentTracing	Main	从Chromium收集追踪数据以找到性能瓶颈和慢操作。
contextBridge		在隔离的上下文中创建一个安全的、双向的、同步的桥梁。
类：Cookies		查询和修改一个会话的cookies
crashReporter	Main and Renderer	将崩溃日志提交给远程服务器
类: Debugger		备用的 Chrome 远程调试接口。
desktopCapturer	Renderer	访问关于使用navigator.mediaDevices.getUserMedia API 获取的可以用来从桌面捕获音频和视频的媒体源的信息。
对话框		显示用于打开和保存文件、警报等的本机系统对话框。
类: Dock		在 macOS dock中控制您的应用
类：downloadItem		控制来自于远程资源的文件下载。
环境变量		在不更改代码的情况下控制应用程序配置和行为。
Chrome 扩展支持		注意：Electron 不支持商店中的任意 Chrome 扩展，Electron 项目的目标不是与 Chrome 的扩展实现完全兼容。
File 对象		在文件系统中，使用HTML5 File 原生API操作文件
无边框窗口		打开一个无工具栏、边框、和其它图形化外壳的窗口。
系统快捷键		在应用程序没有键盘焦点时，监听键盘事件。
inAppPurchase		Mac App Store中的应用内购买
类：IncomingMessage		处理 HTTP/HTTPS 请求的响应。
ipcMain	Main	从主进程到渲染进程的异步通信。
ipcRenderer	Renderer	从渲染器进程到主进程的异步通信。
Menu	Main	创建原生应用菜单和上下文菜单。
菜单项		添加菜单项到应用程序菜单和上下文菜单中
MessageChannelMain		主进程中用于通道消息传递的通道接口。
MessagePortMain		主进程中用于通道消息传递的端口接口。
nativeImage	Main and Renderer	使用 PNG 或 JPG 文件创建托盘、dock和应用程序图标。
本地主题		读取并响应Chromium本地色彩主题中的变化。
net	Main	使用Chromium的原生网络库发出HTTP / HTTPS请求
netLog		Logging network events for a session.
通知		创建OS(操作系统)桌面通知
电源监视器		监视电源状态的改变。
省电拦截器 | powerSaveBlocker		阻止系统进入低功耗 (休眠) 模式。
进程		处理对象的扩展
protocol	Main	注册自定义协议并拦截基于现有协议的请求。
remote	Renderer	在渲染进程中使用主进程模块。
screen	Main and Renderer	检索有关屏幕大小、显示器、光标位置等的信息。
ServiceWorkers		Query and receive events from a sessions active service workers.
session	Main	管理浏览器会话、cookie、缓存、代理设置等。
ShareMenu		Create share menu on macOS.
shell	Main and Renderer	使用默认应用程序管理文件和 url。
简介		如何使用 Node.js 和 Electron APIs
systemPreferences	Main	获取system preferences.
触控板		为原生macOS应用创建TouchBar布局
类: TouchBarButton		为mac os应用在touch bar中创建一个按钮组件
类: TouchBarColorPicker		在macOS 应用程序中，为触控栏创建拾色器
类: TouchBarGroup		为本地mac os创建一个触控条组
类: TouchBarLabel		在原生macOS应用程序的触摸栏中创建一个标签
TouchBarOtherItemsProxy		Instantiates a special "other items proxy", which nests TouchBar elements inherited from Chromium at the space indicated by the proxy. By default, this proxy is added to each TouchBar at the end of the input. For more information, see the AppKit docs on NSTouchBarItemIdentifierOtherItemsProxy Note: Only one instance of this class can be added per TouchBar.
类: TouchBarPopover		为macOS原生应用在触摸栏中创建一个弹出控件
类: TouchBarScrubber		创建一个scrubber (可滚动的选择程序)
类: TouchBarSegmentedControl		创建一个分段控件（按钮组），其中一个按钮具有选定状态
类: TouchBarSlider		为本机 macOS 应用程序在触摸栏中创建滑块
类: TouchBarSpacer		在mac os应用中，为touch bar中的相邻项之间留白
Tray	Main	添加图标和上下文菜单到系统通知区
webContents	Main	渲染以及控制 web 页面
webFrame	Renderer	自定义渲染当前网页
webFrameMain		Control web pages and iframes.
类：WebRequest		在一个请求生命周期的不同阶段，截取和修改其内容。
<webview>标签		在一个独立的 frame 和进程里显示外部 web 内容。
从渲染进程打开窗口

