Electron 两种进程都可用的模块

Posted 知否

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Electron 两种进程都可用的模块相关的知识,希望对你有一定的参考价值。

下面是 Electron 中主进程和渲染进程都可以使用的模块:

模块描述
clipboard提供方法来供复制和粘贴操作
crashReporter开启发送应用崩溃报告
nativeImageelectron 中获取图片可以通过文件的路径或是使用 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 中的标记内容
writeHtmlclipboard 添加 markup 内容
writeHtmlclipboard 添加 markup 内容
readImageclipboard 中返回 NativeImage 内容
writeImageclipboard 中写入 image
readRtf clipboard 中返回 RTF内容
writeRtfclipboard 中写入 RTF 格式的 text
clear清空 clipboard 内容
availableFormats返回 clipboard 支持的格式数组
has返回 clipboard 是否支持指定 data 的格式
read读取 clipboarddata
writeclipboard 写入 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);

当前支持 PNGJPEG 图片格式,最好使用 PNG 格式 ,因为它支持透明和无损压缩。在 Windows 中还可以使用 ICO 图标的格式。

nativeImage 类有如下方法:

方法描述
createEmpty创建一个空的 nativeImage 实例
createFromPath从指定 path 创建一个新的 nativeImage 实例
createFromBufferbuffer 创建一个新的 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 两种进程都可用的模块的主要内容,如果未能解决你的问题,请参考以下文章

Electron 在主进程内可用的模块

Electron 主进程和渲染进程都可使用的模块

Electron 键盘快捷键

Electron:在主进程中使用模块

04.electron-(使用remove模块及安全策略)

electron渲染进程与主进程通信