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

1、建立Vue项目

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

点击快速进入源代码

拉取代码

shell 复制代码
git clone https://github.com/xygengcn/electron-devtool.git

安装依赖

shell 复制代码
yarn

运行项目

shell 复制代码
yarn dev

打包项目

shell 复制代码
yarn build

2、安装插件在chrome调试

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

3、如何在Electron安装插件

具体代码进入源代码

js 复制代码
// 安装插件函数
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函数(具体代码进入源代码

js 复制代码
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的注册的方法

js 复制代码
 window.$devtoolsPanelHandle.invoke("add", { a: 1, b: 2 }, (data) => {
    console.log("结果是:" + data);
    result.value = data;
});
相关推荐
Red Car1 小时前
javascript 性能优化实例一则
开发语言·javascript·ecmascript
艾小码1 小时前
从Hello World到变量数据类型:JavaScript新手避坑指南
前端·javascript
千叶寻-2 小时前
正则表达式
前端·javascript·后端·架构·正则表达式·node.js
瓯雅爱分享8 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
記億揺晃着的那天10 小时前
Vue + Element UI 表格自适应高度如何做?
javascript·vue.js·ui
GISer_Jing10 小时前
ByteDance——jy真题
前端·javascript·面试
真的想不出名儿10 小时前
Vue 中 props 传递数据的坑
前端·javascript·vue.js
阳光阴郁大boy10 小时前
星座运势网站技术解析:从零打造现代化Web应用
前端·javascript
sorryhc11 小时前
如何设计一个架构良好的前端请求库?
前端·javascript·架构
Queen_sy11 小时前
vue3 el-date-picker 日期选择器校验规则-选择日期范围不能超过七天
javascript·vue.js·elementui