electron入门之试调工具remote(三)
electron入门到入土,从渲染线程中创建新窗口。2022-03-21入门版本17.1.2
electron重要概念,只有一个主线程,其他都是渲染进程或者叫子线程,他们不能直接相互操作,可以通过ipcMain、ipcRenderer进行相互事件操作,低版本前用remote很好使,百度上的基本是老版本的教程。因为electron14+后remote被重写:https://www.electronjs.org/zh/docs/latest/breaking-changes#计划重写的-api-140
所以用remote需要安装,但是remote还是很好的数据交互组件。
开发前端经常需要使用开发者试调工具,我们可以在主线程中通过mainWindow.webContents.openDevTools()打开:
// 加载 index.html
mainWindow.loadFile('views/index.html')
mainWindow.webContents.openDevTools() // 打开开发工具
可以通过事件通信实现:
主线程中:
const {app, BrowserWindow, ipcMain} = require('electron')
// 打开开发工具
ipcMain.on("openDevTools", (event, data) => {
mainWindow.webContents.openDevTools()
})
渲染/子线程中
<script>
const {ipcRenderer} = require('electron');
function handleKeyPress(event) {
console.log(`You pressed ${event.key}`)
if (event.key === 'F12') {
// 发送 hello-console 事件
ipcRenderer.send('openDevTools','')
}else if(event.key==='F5'){
window.location.reload()
}
}
window.addEventListener('keyup', handleKeyPress, true)
</script>
按F12打开

还能用remote直接打开获取
// 安装
npm install --save @electron/remote
初始化:主线程中
// in the main process:
require('@electron/remote/main').initialize()
// 渲染线程开启remote electron 14+
require("@electron/remote/main").enable(webContents)
// 例如我的
require("@electron/remote/main").enable(mainWindow.webContents)
渲染线程中使用:
// 获取当前窗口对象
const currentWindow = require('@electron/remote').getCurrentWindow();
function handleKeyPress(event) {
console.log(`You pressed ${event.key}`)
if (event.key === 'F12') {
// 发送 hello-console 事件
ipcRenderer.send('openDevTools','')
}else if(event.key==='F5'){
window.location.reload()
}else if (event.key==='F1'){
currentWindow.webContents.openDevTools()
}
}
window.addEventListener('keyup', handleKeyPress, true)
按F1 打开

关于electron的开发工具,按个人习惯,例如我是后端开发,习惯用idea,那么我就用idea开发electron,开发vue cli也是用idea,说实话,我用不惯vs code,个人推荐用idea开发。
electron入门之试调工具remote(三)的更多相关文章
- Fiddler4入门--手机抓包工具安装和使用说明
Fiddler4入门--手机抓包工具安装和使用说明.电脑最好是笔记本连同一个wifi,这样能和手机保持统一局域网内. 很多区块链dapp项目方风控做的很差,利用fiddler抓包分析找一些漏洞,然后利 ...
- Git版本控制工具(三)----远程仓库GitHub的使用
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- mysql监控、性能调优及三范式理解
原文:mysql监控.性能调优及三范式理解 1监控 工具:sp on mysql sp系列可监控各种数据库 2调优 2.1 DB层操作与调优 2.1.1.开启慢查询 在My.cnf文件中添加如 ...
- JVM调优(三)——基于Btrace的监控调试
JVM调优(三)--基于Btrace的监控调试 简介 Btrace可以动态地向目标应用程序的字节码注入追踪代码 用到的技术: JavaComplierApi.JVMTI.Agent.Instrumen ...
- 微软出品的UI自动化测试工具Playwright(三)
微软出品的UI自动化测试工具Playwright(三) 网址 说明 https://playwright.dev/ 官网首页 https://playwright.dev/python/docs/in ...
- electron 入门小白贴
electron 入门小白贴 electron demo 跑起来! 毕设准备是做个 跨平台的做题的客户端,打算用 electron 来弄. 然而今天折腾了半天才终于吧demo给跑起来了.经历了许多的问 ...
- Json.Net6.0入门学习试水篇
原文:Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中 ...
- OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)
OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰) 前文曾详细探讨了关于OpenCV的使用,原本以为天下已太平.但不断有人反 ...
- Spring Boot 入门之持久层篇(三)
原文地址:Spring Boot 入门之持久层篇(三) 博客地址:http://www.extlight.com 一.前言 上一篇<Spring Boot 入门之 Web 篇(二)>介绍了 ...
- Mac开发必备工具(三)—— Fish shell
Fish shell 简介 fish 可以根据输入自动匹配历史命令.它的一大特点是开箱即用,没有zsh那些繁琐的配置.官网:http://www.fishshell.com/. 安装与配置 在终端里使 ...
随机推荐
- vue~封装一个文本框添加与删除的组件
标签组件的效果如下 组件作用 这是一个div,包含了两个文本框,后面是添加和删除按钮 添加按钮复制出新的div,除了文本框没有内容,其它都上面一样 删除按钮将当前行div删除 组件实现 <tem ...
- fopen各个模式区别
fopen 函数是C标准库中用于打开文件的函数,它接受一个文件名和一个打开模式作为参数,返回一个指向文件的指针. 这里解释各个模式的区别: "r": 以只读模式打开文件,文件必须存 ...
- 万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
文章贡献者 Authors 技术指导: 泰康人寿 数据架构资深专家工程师 王可 文章作者: 泰康人寿 数据研发工程师 田昕峣 摘要 Abstract 本文详细介绍了泰康人寿基于 Apache Hudi ...
- Vue2系列(lqz)——Vue生命期钩子、组件
文章目录 Vue声明期钩子 组件 1 fetch和axios 1.1 fetche使用 1.2 axios的使用 2 计算属性 2.1 通过计算属性实现名字首字母大写 2.2 通过计算属性重写过滤案例 ...
- Kubeflow基础知识
kubeflow 基础知识 kubeflow 简介 kubeflow是谷歌开源的MLOps开源平台,其中包含的不同组件代表了机器学习生命周期的不同阶段. 下图是kubeflow组织ML工作流程: ku ...
- 本地化部署自建类ChatGPT服务远程访问
Text generation web UI可为类ChatGPT的大型语言模型提供能够快速上手的网页界面,不仅可以提高使用效率,还可满足私有化部署,或对模型进行自定义.目前,该Web UI已经支持了许 ...
- 知识图谱与大模型相结合的3种方法,1+1>2
本文分享自华为云社区<知识图谱与大模型结合方法概述>,作者: DevAI . <Unifying Large Language Models and Knowledge Graphs ...
- matlab实现频谱感知-认知无线电
1.前言 \(\quad\) 频谱感知的方法有很多,比如匹配滤波探测,能量检测,静态循环特征探测等方法,然后最近因为在用硬件做能量检测,所以本文主要是说了如何用matlab实现能量检测,它的大概流程就 ...
- Python实现对word批量操作
Python在平时写写小工具真是方便快捷,Pyhon大法好. 以下所有代码都是找了好多网上的大佬分享的代码按照自己的需求改的. 调用的库为Python-docx.win32com.PyPDF2.xlw ...
- 最全的VLOOKUP应用教程
VLOOKUP是Excel中最常用的函数之一,它可以让我们在一个表格中查找指定值,并返回与该值匹配的另一个单元格中的内容. 在这篇文章中,我们将深入探讨VLOOKUP的使用方法,从而为您提供一份史上最 ...