Appearance
流程
流程模型
Electron在架构上继承自Chromium的多进程架构,所以可以近似看做是现代浏览器。
多进程模型使得各个部分近乎独立运行,减少了恶意代码对程序的破坏。
Electron的进程分为两种:主进程,渲染器进程。
主进程
应用程序的入口点。由于是运行在Node.js环境中,所以具有require模块和使用所有nodejs的API的能力。
主要目的是使用 BrowserWindow 模块创建和管理应用程序窗口。
BrowserWindow 类的每个实例创建一个应用程序窗口,且在单独的渲染器进程中加载一个网页。 您可从主进程用 window 的 webContent 对象与网页内容进行交互。
当一个 BrowserWindow 实例被销毁时,与其相应的渲染器进程也会被终止。
渲染器进程
每个 Electron 应用都会为每个打开的 BrowserWindow ( 与每个网页嵌入 ) 生成一个单独的渲染器进程。
您最起码要知道的是:
- 以一个 HTML 文件作为渲染器进程的入口点。
- 使用层叠样式表 (Cascading Style Sheets, CSS) 对 UI 添加样式。
- 通过 <script> 元素可添加可执行的 JavaScript 代码。
渲染器无权直接访问 require 或其他 Node.js API。 为了在渲染器中直接包含 NPM 模块,必须使用与在 web 开发时相同的打包工具 (例如 webpack 或 parcel)
Preload 脚本
预加载(preload)脚本包含了那些执行于渲染器进程中,且先于网页内容开始加载的代码 。