下面是 Electron
中主进程可用的模块:
模块 | 描述 |
---|---|
app | 负责控制应用程序的整个生命周期 |
autoUpdater | 该模块提供了一个到 Squirrel 自动更新框架的接口 |
BrowserWindow | 可以用于创建一个新的浏览器窗口 |
contentTracing | 用来收集 Chromium 内容模块产生的跟踪信息 |
dialog | 用来显示原生系统对话框,比如打开文件对话框 |
global-Shortcut | 用来注册和注销全局的键盘快捷方式 |
ipcMain | 该模块是 EventEmitter 的一个实例对象,在主进程中使用,可以发送同步或是异步的消息和渲染进程进行交互 |
Menu | 用来创建一个原生的菜单,比如上下文菜单 |
MenuItem | 用来往菜单中添加菜单子项 |
powerMonitor | 用来显示电池电量变化,只能是在主进程中使用,而且只能是在ready事件已经发出的情况下 |
powerSaveBlocker | 用来阻止系统进入省电模式,休眠模式 |
protocol | 用来注册一个定制的协议或是声明使用一个已经存在的协议 |
session | 用来创建新的 Session 对象,保存本地对象等操作 |
webContents | 这是一个 EventEmitter ,负责渲染和控制一个网页,是一个 BrowserWindow 的属性 |
Tray | 一个 Tray 代表着一个操作系统通知区域的一个 icon ,通常情况下是和一个上下文菜单绑定的 |
app模块
app
模块是为了控制整个应用的生命周期设计的。
示例:
例如在最后一个窗口被关闭时退出应用:
const app = require('app');
app.on('window-all-closed', function(){
app.quit();
});
app
对象可以发出以下事件:
事件 | 描述 |
---|---|
will-finish-launching | 当程序完成基本的启动,类似于 ready 事件 |
ready | 当 Electron 完成初始化时被触发 |
window-all-closed | 当所有的窗口都已经关闭的时候触发。仅在当程序将要推退出的时候触发。如果调用了 app.quit() 则不会触发 |
before-quit | 当程序开始关闭窗口的时候发出,调用 event.prevertDefault() 将会阻止应用程序的默认的行为 |
will-quit | 当窗口都已经关闭,程序即将退出的时候发出该事件 |
quit | 当应用程序正在退出时触发 |
autoUpdater模块
autoUpdater
模块提供了一个到 Squirrel
自动更新框架的接口。
autoUpdater
对象会触发以下的事件:
事件 | 描述 |
---|---|
error | 当更新发生错误的时候触发 |
checking-for-update | 当开始检查更新的时候触发 |
update-available | 当发现一个可用更新的时候触发,更新包下载会自动开始 |
update-not-available | 当没有可用更新的时候触发 |
update-downloaded | 在更新下载完成的时候触发 |
BrowserWindow模块
BrowserWindow
模块用于创建一个新的浏览器窗口。
示例:
// 在主进程中
const BrowserWindow = require('electron').BrowserWindow;
// 在渲染进程中
const BrowserWindow = require('electron').remote.BrowserWindow;
var win = new BrowserWindow({
width: 800, height: 400, show: false });
win.on('closed', function() {
win = null;
});
win.loadURL('https://github.com');
win.show();
BrowserWindow
对象可触发下列事件:
事件 | 描述 |
---|---|
close | 在窗口要关闭的时候触发,它在 DOM 的 beforeunload 和 unload 事件之前触发,使用 event.preventDefault() 可以取消这个操作 |
closed | 当窗口已经关闭的时候触发,当你接收到这个事件的时候,你应当删除对已经关闭的窗口的引用对象和避免再次使用它 |
unresponsive | 在界面卡死的时候触发事件 |
responsive | 在界面恢复卡死的时候触发 |
blur | 在窗口失去焦点的时候触发 |
focus | 在窗口获得焦点的时候触发 |
maximize | 在窗口最大化的时候触发 |
unmaximize | 在窗口退出最大化的时候触发 |
minimize | 在窗口最小化的时候触发 |
restore | 在窗口从最小化恢复的时候触发 |
resize | 在窗口 size 改变的时候触发 |
move | 在窗口移动的时候触发,在 OS X 中别名为 moved |
contentTracing模块
contentTracing
模块用来收集底层的 Chromium
内容模块产生的搜索数据