返回介绍

三、Electron 运行流程

发布于 2024-09-07 18:20:40 字数 2216 浏览 0 评论 0 收藏 0

3.1 Electron 运行的流程

3.2 Electron 主进程和渲染进程

  • Electron 运行 package.jsonmain 脚本的进程被称为主进程。
  • 在主进程中运行的脚本通过创建 web 页面来展示用户界面。 一个 Electron 应用总是有且只有一个主进程。
  • 由于 Electron 使用了 Chromium (谷歌浏览器) 来展示 web 页面,所以 Chromium 的 多进程架构也被使用到。 每个 Electron 中的 web 页面运行在它自己的渲染进程中。
  • 主进程使用 BrowserWindow 实例创建页面。每个 BrowserWindow 实例都在自己的渲 染进程里运行页面。 当一个 BrowserWindow 实例被销毁后,相应的渲染进程也会被终止

  • 进程:进程是计算机中的程序关于某数据集合上的一次运行活动,是 系统进行资源分配和调度的基本单位,是操作系统结构的基础。
  • 线程:在一个程序里的一个执行路线就叫做线程( thread )。更准确的定义是: 线程是“一个进程内部的控制序列”。
  • 线程和进程:一个程序至少有一个进程,一个进程至少有一个线程

3.3 Electron 渲染进程中通过 Nodejs 读取本地文件

在普通的浏览器中, web 页面通常在一个沙盒环境中运行,不被允许去接触原生的资源。 然而 Electron 的用户在 Node.jsAPI 支持下可以在页面中和操作系统进行一些底层交 互。 Nodejs 在主进程和渲染进程中都可以使用。渲染进程因为安全限制,不能直接操作生 GUI 。虽然如此,因为集成了 Nodejs,渲染进程也有了操作系统底层 API 的能力, Nodejs 中常用的 PathfsCrypto 等模块在 Electron 可以直接使用,方便我们处理链接、路径、 文件 MD5 等,同时 npm 还有成千上万的模块供我们选择。

var fs = require('fs');
var content = document.getElementById('content'); 
var button = document.getElementById('button');

button.addEventListener('click',function(e){
  fs.readFile('package.json','utf8',function(err,data){ 
    content.textContent = data;
    console.log(data);
  }); 
});

3.4 Electron 开启调试模式

mainWindow.webContents.openDevTools();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文