electron监听网页_Electron 进程通信

本文作者:IMWeb laynechen

未经同意,禁止转载

Electron 中的进程分类

在 Electron 中,存在两种进程:主进程和渲染进程。

主进程 (Main Process)

一个 Electron 应用只有 一个主进程

当我们执行 electron . 命令后, Electron 会运行当前目录(.)下的 package.json 文件中 main 字段指定的文件。而运行该文件的进程既是主进程。

运行在主进程中的脚本可以通过创建一个窗口,并传入 URL,让这个窗口加载一个网页来展示图形界面。

与创建 GUI 相关的接口只应该由主进程来调用。

渲染进程 (Renderer Process)

在Electron里的每个页面都有它自己的进程,叫作渲染进程。主进程通过实例化 BrowserWindow,每个 BrowserWindow 实例都在它自己的渲染进程内返回一个 web 页面。当 BrowserWindow 实例销毁时,相应的渲染进程也会终止。

渲染进程由主进程进行管理。每个渲染进程都是相互独立的,它们只关心自己所运行的 web 页面。

问题

这篇文章主要要解决的问题是:

Electron 与 View 层(网页),也就是主进程与渲染进程是如何进行通信的?

不同的通信是如何实现的?

先解决第一个问题。

Electron 与 View 层(网页)是如何进行通信的?

Electron 提供了两种通信方法:

1. 利用 ipcMain 和 ipcRenderer 模块

官方文档 上有使用这两个模块进行进程通信的例子:

// In main process.

const {ipcMain} = require('electron')

ipcMain.on('asynchronous-message', (event, arg) => {

console.log(arg) // prints "ping"

event.sender.send('asynchronous-reply', 'pong')

})

ipcMain.on('synchronous-message', (event, arg) => {

consol

你可能感兴趣的:(electron监听网页)