美文网首页
6-electron运行流程-主进程,渲染进程

6-electron运行流程-主进程,渲染进程

作者: 程序员李钟意 | 来源:发表于2019-08-22 10:54 被阅读0次

electron 运行的流程

    1. package.json 中 入口文件改为 main.js
    1. main.js 主进程中创建渲染进程
    1. 设置应用页面布局和样式
    1. 使用 IPC 在主进程执行任务并获取信息

主进程和渲染进程

主进程和渲染器进程

Electron 运行 package.json 的 main 脚本的进程被称为主进程。
在主进程中运行的脚本 通过创建 web 页面来展示用户界面。

由于 electron 使用了 Chromium(谷歌浏览器)来展示 web 页面,
所以 Chromium 的多进程架构也被使用到。
每个 Electron 中的 web 页面运行在它自己的渲染进程中。

进程和线程

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

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

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

<body>
    <h1>hello world</h1>
    <div id="content"></div>
    <button id="button">click</button>
</body>
const fs = require('fs');

const content = document.getElementById('content');
const button = document.getElementById('button');

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

开启渲染进程使用 nodejs,否则报错 require is not define

mainWindow = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
        // 渲染进程是否使用node
        nodeIntegration: true
    }
});

点击 click 效果


20ba3817c258300c409e68a160f5c6b8.png

Election 开启调试模式

mainWindow.webContents.openDevTools();

① 图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)

相关文章

  • 6-electron运行流程-主进程,渲染进程

    electron 运行的流程 package.json 中 入口文件改为 main.js main.js 主进程中...

  • 一种基于 rxjs 和 @ngrx/store 的 Electr

    ActionScope 设计 Electron 中分主进程M、主渲染进程C、其它渲染进程R,一般渲染进程有多个,主...

  • Electron学习笔记 - 渲染进程使用主进程模块(remot

    本文讲解如何在渲染进程使用主进程模块。 一、主/渲染进程可使用的模块 在下面这个网址可以查到主进程和渲染进程可使用...

  • electron指令.md

    1. 主进程向渲染进程发送指令 主进程代码 渲染进程代码 2. 渲染进程向主进程发送指令 渲染进程代码 主进程代码

  • Electron

    node GUI Electron 进程间通信IPC 主进程与渲染进程 渲染进程与渲染进程 shell dialo...

  • 第二课:electron 模块

    主进程和渲染进程可使用的模块不相同 主进程和渲染进程都能使用的模块: 渲染进程可用: 主进程可用:

  • electron开发入门(二)进程通信

    目录 主进程与渲染进程 主进程与渲染进程之间的通信 1. 主进程与渲染进程 在 electron 中,最重要的一个...

  • 多线程(第一篇)

    线程与进程 进程:正在运行的程序。线程:一个进程的执行单元。一条执行流程。多线程:一个进程中有多条执行路径。 进程...

  • 线程基础

    线程是指进程中的一个执行流程,一个进程中可以运行多个线程。 线程总是属于某个进程,进程中的多个线程共享进程的内存。...

  • Electron 主进程和渲染进程

    本节我们来学习什么是主进程和渲染进程,主进程与渲染进程之间有什么区别,主进程和渲染进程之间的通信。下面我们先来看一...

网友评论

      本文标题:6-electron运行流程-主进程,渲染进程

      本文链接:https://www.haomeiwen.com/subject/dkagsctx.html