Electron 两种进程都可用的模块
Posted 知否
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Electron 两种进程都可用的模块相关的知识,希望对你有一定的参考价值。
下面是 Electron
中主进程和渲染进程都可以使用的模块:
模块 | 描述 |
---|---|
clipboard | 提供方法来供复制和粘贴操作 |
crashReporter | 开启发送应用崩溃报告 |
nativeImage | 在 electron 中获取图片可以通过文件的路径或是使用 nativeImage 对象 |
screen | 检索屏幕的大小,显示,鼠标位置等的信息 |
shell | 提供了集成其他桌面客户端的关联功能 |
clipboard模块
clipboard
模块提供方法来供复制和粘贴操作 。
示例:
例如将一个字符串写到 clipboard
上:
const clipboard = require(\'electron\').clipboard;
clipboard.writeText(\'xkd\');
clipboard
模块有以下方法:
方法 | 描述 |
---|---|
readText | 以纯文本形式从 clipboard 返回内容 |
readText | 以纯文本形式从 clipboard 返回内容 |
writeText | 以纯文本形式向 clipboard 添加内容 |
readhtml | 返回 clipboard 中的标记内容 |
readHtml | 返回 clipboard 中的标记内容 |
writeHtml | 向 clipboard 添加 markup 内容 |
writeHtml | 向 clipboard 添加 markup 内容 |
readImage | 从 clipboard 中返回 NativeImage 内容 |
writeImage | 向 clipboard 中写入 image |
readRtf | 从 clipboard 中返回 RTF 内容 |
writeRtf | 向 clipboard 中写入 RTF 格式的 text |
clear | 清空 clipboard 内容 |
availableFormats | 返回 clipboard 支持的格式数组 |
has | 返回 clipboard 是否支持指定 data 的格式 |
read | 读取 clipboard 的 data |
write | 向 clipboard 写入 data |
crashReporter模块
crashReporter
模块开启发送应用崩溃报告。
示例:
例如自动提交崩溃报告给服务器 :
const crashReporter = require(\'electron\').crashReporter;
crashReporter.start({
productName: \'my_electron\',
companyName: \'shushuo\',
submitURL: \'https://9xkd.com/url-to-submit\',
autoSubmit: true
});
crash-reporter
模块有如下方法:
方法 | 描述 |
---|---|
start | 在使用其它 crashReporter APIs 之前使用 |
getLastCrashReport | 返回最后一个崩溃报告的日期和 ID ,如果没有过崩溃报告发送过来,或者还没有开始崩溃报告搜集,将返回 null |
getUploadedReports | 返回所有上载的崩溃报告,每个报告包含了上载日期和 ID |
nativeImage模块
在 electron
中获取图片可以通过文件的路径或是使用 nativeImage
对象。
示例:
例如当创建一个 tray
或设置窗口的图标时候,可以使用一个字符串的图片路径:
var appIcon = new Tray(\'/Users/somebody/images/icon.png\');
var window = new BrowserWindow({icon: \'/Users/somebody/images/window.png\'});
或者从剪切板中读取图片:
var image = clipboard.readImage();
var appIcon = new Tray(image);
当前支持 PNG
和 JPEG
图片格式,最好使用 PNG
格式 ,因为它支持透明和无损压缩。在 Windows
中还可以使用 ICO
图标的格式。
nativeImage
类有如下方法:
方法 | 描述 |
---|---|
createEmpty | 创建一个空的 nativeImage 实例 |
createFromPath | 从指定 path 创建一个新的 nativeImage 实例 |
createFromBuffer | 从 buffer 创建一个新的 nativeImage 实例,默认 scaleFactor 是 1.0 |
createFromDataURL 从 dataURL | 创建一个新的 nativeImage 实例 |
screen模块
screen
模块是一个EventEmitter
,用于检索屏幕的 size
,显示,鼠标位置等的信息。在 app
模块的 ready
事件触发之前不可使用这个模块。
示例:
例如我们创建一个充满整个屏幕的窗口:
const electron = require(\'electron\');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
var mainWindow;
app.on(\'ready\', function() {
var electronScreen = electron.screen;
var size = electronScreen.getPrimaryDisplay().workAreaSize;
mainWindow = new BrowserWindow({ width: size.width, height: size.height });
});
screen
模块有如下事件:
事件 | 描述 |
---|---|
display-added | 当添加了 newDisplay 时发出事件 |
display-removed | 当移出了 oldDisplay 时发出事件 |
display-metrics-changed | 当一个 display 中的一个或更多的 metrics 改变时发出事件 |
screen
模块的方法如下所示:
方法 | 描述 |
---|---|
getCursorScreenPoint | 返回当前鼠标的绝对路径 |
getPrimaryDisplay | 返回最主要的 display |
getAllDisplays | 返回一个当前可用的 display 数组 |
getDisplayMatching | 返回与提供的边界范围最密切相关的 display |
getDisplayNearestPoint | 返回离指定点最近的 display |
shell模块
shell
模块提供了集成其他桌面客户端的关联功能。
示例:
在用户默认浏览器中打开 URL
:
var shell = require(\'shell\');
shell.openExternal(\'https://www.9xkd.com/\');
shell
模块的方法如下所示:
方法 | 描述 |
---|---|
showItemInFolde | 打开文件所在文件夹,一般情况下还会选中它 |
openIte | 以默认打开方式打开文件 |
openExterna | 以系统默认设置打开外部协议 |
moveItemToTra | 删除指定路径文件,并返回此操作的状态值(boolean类型) |
beep | 播放 beep 声音 |
以上是关于Electron 两种进程都可用的模块的主要内容,如果未能解决你的问题,请参考以下文章