在 Electron
中,有两种进程:主进程(Main Process)和渲染进程(Renderer Process)。
主进程
主进程是 Electron 应用程序的控制中心,负责管理应用程序的生命周期、处理系统级别的操作和事件。它有以下几个常见特点:
- 是 Electron 应用程序的控制中心,运行在 Node.js 环境中
- 主进程的入口点是一个 JavaScript 文件,是 package.json 中 main 配置项对象的脚本文件
- 一个应用中只有一个主进程
- 可以访问底层的系统资源和操作系统的功能
- 控制应用的生命周期
- 创建渲染进程(可以创建多个)
渲染进程
渲染进程是在 Electron 应用程序中用于呈现用户界面的进程。每个渲染进程都运行在独立的浏览器上下文中,类似于 Chrome 浏览器中的每个标签页。渲染进程使用 Chromium 的渲染引擎来解析和显示网页内容,并通过 HTML、CSS 和 JavaScript 构建用户界面。通常,每个 Electron 窗口都对应一个独立的渲染进程。渲染进程使用 Chrome 的沙箱技术进行隔离,以确保安全性和稳定性。它的特点是:
- 负责界面渲染的进程
- 使用 Chromium 的渲染引擎来解析和显示网页内容
- 一个应用可以有多个渲染进程,且各个渲染进程之间相互独立
- 配置后,可以通过
NodeJS
API 操作系统底层资源
在 Electron
中,使用 new BrowserWindow()
来创建一个窗口,每个窗口都对应一个独立的渲染进程
// 创建窗口
const win = new BrowserWindow({
width: 800,
height: 600
})
// 窗口中加载 index.html
win.loadFile('index.html')
调用new BrowserWindow()
仅仅是创建了一个新的窗口对象,并不会立即创建渲染进程。渲染进程的创建和管理是由 Electron 的主进程负责的。当调用new BrowserWindow()
后,主进程会根据需要动态地创建渲染进程,并将窗口分配给对应的渲染进程来进行呈现。
参考文档:https://www.electronjs.org/zh/docs/latest/tutorial/process-model
Comment here is closed