网站域名空间怎么弄啊,万州电商网站建设,高端品牌女装连衣裙,响应式网站开发技术Electron的主进程和渲染进程 Electron的主进程和渲染进程前言正文1、主进程2、渲染进程3、Preload 脚本3.1 在项目目录下创建 preload.js 文件3.2 在 main.js 文件下创建路径变量并将 preload.js 定义为桥梁3.3 在 preload.js 文件下使用 electron 提供的contextBridge 模块3.4… Electron的主进程和渲染进程 Electron的主进程和渲染进程前言正文1、主进程2、渲染进程3、Preload 脚本3.1 在项目目录下创建 preload.js 文件3.2 在 main.js 文件下创建路径变量并将 preload.js 定义为桥梁3.3 在 preload.js 文件下使用 electron 提供的contextBridge 模块3.4 在 render.js 文件下调用 contextBridge Electron的主进程和渲染进程
前言
在Electron应用开发中主进程与渲染进程的协作至关重要。Electron基于Chromium和Node.js让开发者用Web技术构建跨平台桌面应用。为确保安全与性能Electron采用主进程和渲染进程分离架构。主进程管理应用生命周期、窗口及原生功能渲染进程则负责显示用户界面。两者通过IPC机制通信实现数据共享与功能调用。Preload脚本在渲染进程加载前注入代码安全暴露必要API避免直接暴露Node.js环境。本文将深入解析这一机制探讨两者工作原理与安全通信方法。
笔记源于禹神一小时快速上手Electron前端Electron开发教程
正文
1、主进程
每个 Electron 应用都有一个单一的主进程作为应用程序的入口点主进程在 Node.js 环境中运行它具有 require 模块和使用所有 Node.js API 的能力主进程的核心就是使用 BrowerWindow 来创建和管理窗口
2、渲染进程
每个 BrowerWindow 实例都对应一个单独的渲染器进程运行在渲染器进程中的代码必须遵循网页标准这也就意味着渲染器进程无权直接访问 require 或使用任何 Node.js 的API
3、Preload 脚本
预加载Preload脚本是运行在渲染进程中的但它是在网页内容加载之前执行的这意味着它具有比普通渲染器代码更高的权限可以访问 Node.JS 的 API同时又可以与网页内容进行安全的交互。 简单地说它是 Node.JS 和 Web API 的桥梁Preload 脚本可以安全地将部分 Node.JS 功能暴露给网页从而减少安全风险。
3.1 在项目目录下创建 preload.js 文件
在 main.js 的同级目录下创建
3.2 在 main.js 文件下创建路径变量并将 preload.js 定义为桥梁
获取所在路径const path require(path)设置 webPreferences 属性将 preload.js 定义为桥梁webPreferences{preload:path.resolve(__dirname,./preload.js)}
3.3 在 preload.js 文件下使用 electron 提供的contextBridge 模块
console.log(preload,process.version)
const {contextBridge} require(electron)contextBridge.exposeInMainWorld(myAPI,{version:process.version
})3.4 在 render.js 文件下调用 contextBridge
const btn1document.getElementById(btn1)
console.log(render)
// 绑定点击事件
btn1.onclick(){// alert(已弹出)alert(myAPI.version)
}至此我们可以通过渲染进程访问 require 或使用 Node.js 的API