当前位置: 首页 > news >正文

如何快速使用Vue3在electron项目开发chrome Devtools插件

1、建立Vue项目

为了方便快速建立项目,我已经写好脚手架,直接clone项目,快速开发

点击快速进入源代码

拉取代码

git clone https://github.com/xygengcn/electron-devtool.git

安装依赖

yarn

运行项目

yarn dev

打包项目

yarn build

2、安装插件在chrome调试

打开chrome://extensions/,打开开发者模式,直接把打包产物拖到窗口即可

3、如何在Electron安装插件

具体代码进入源代码

// 安装插件函数
export async function installLocalExtension(path: string): Promise<Electron.Extension> {return session.defaultSession.loadExtension(path, { allowFileAccess: true });
}/*** 安装插件*/
export async function installDevtoolsExtends() {const extensionsPath = "插件目录";installLocalExtension(extensionPath).then((result) => {console.log('[devtools] 插件安装成功', result.name, result.path);})
}// 在app启动的时候执行app.on('ready', () => {// 安装拓展installDevtoolsExtends();
});

4、electron项目如何和插件通信

主要使用我另外开发的插件chrome-extension-ipc实现通讯

在上述的代码中的script/preload.ts中,此文件的window即时electron项目的window上下文,window可以访问项目的数据,我们可以使用PreloadHandle实现注册,我们注册一个add函数(具体代码进入源代码)

import { createPreloadHandle } from "chrome-extension-ipc/preload";console.log("[devtools-preload] start");// 创建
window.$devtoolsPreloadHandle = createPreloadHandle({ noconsole: false });// 注册能力
window.$devtoolsPreloadHandle.use("add", ({ a, b }) => {console.log("接收到插件参数:", { a, b });return a + b;
});

在插件界面,我们可以使用PanelHandle实现调用electron的注册的方法

 window.$devtoolsPanelHandle.invoke("add", { a: 1, b: 2 }, (data) => {console.log("结果是:" + data);result.value = data;
});
http://www.lryc.cn/news/214662.html

相关文章:

  • 干洗店服务预约小程序有什么作用
  • 【跟小嘉学 Rust 编程】三十四、Rust的Web开发框架之一: Actix-Web的进阶
  • 软件安装(1)——Xshell安装
  • Kafka基本原理、生产问题总结及性能优化实践 | 京东云技术团队
  • java8利用Stream方法求两个List对象的交集、差集与并集(即:anyMatch和allMatch和noneMatch的区别详解)
  • Centos7下生成https自签名证书
  • 从中序和后序遍历序列构造二叉树
  • Apache ActiveMQ (版本 < 5.18.3) (CNVD-2023-69477)RCE修复方案/缓解方案
  • 61. 旋转链表、Leetcode的Python实现
  • 基于tpshop开发多商户源码支持手机端+商家+门店 +分销+淘宝数据导入+APP+可视化编辑
  • ElasticSearch深度解析入门篇:高效搜索解决方案的介绍与实战案例讲解,带你避坑
  • HTML简单实现v-if与v-for与v-model
  • 【学习笔记】[PA2021] Fiolki 2
  • 计算1到100的和
  • C++下OpenMP耗时统计
  • PTA 函数题(C语言)-- 阶乘计算升级版
  • 内网穿透入门
  • Pickle pyhton反序列化
  • 动静分离技术
  • STM32单片机智能小车一PWM方式实现小车调速和转向
  • 灰狼优化算法(GWO)python
  • 项目知识点总结-住房图片信息添加-Excel导出
  • 第三届iEnglish全国ETP大赛决赛即将启动
  • 创造产业链协同优势后,凌雄科技在DaaS行业转动成长飞轮
  • 【protobuf】protobuf自定义数据格式,CMake编译C++文件读写自定义数据
  • 解决:http://localhost:8080 不在以下 request 合法域名列表中
  • Linux普通用户提权(sudo)
  • 链表指定节点的插入
  • 解决问题Conda:CondaValueError: Malformed version string ‘~’ : invalid character(s)
  • Sci Immunol丨Tim-3 适配器蛋白 Bat3 是耐受性树突状细胞