vue-devtools打开源码位置实现过程

Gabriela ·
更新时间:2024-11-13
· 366 次阅读

目录

一、核心逻辑

二、整个过程

三、简单实现整个过程

一、核心逻辑

通过 code 命令来打开 vs code 编辑器。

code path/dir/file

可以在本地 cmd 终端运行下,试试能否正常打开编辑器,不行的话请参考上面文章。 关于该 code 命令,有个故事是有时在同事那儿看代码时,发现每次都是使用快捷键 win + E 打开文件管理器,找到对应项目的文件夹,在该文件管理器路径内输入 cmd 然后回车,出现终端使用命令行 code . 打开当前文件夹的项目感觉有点儿酷,回头再仔细想下直接使用鼠标右键打开编辑器它不就一个动作嘛,花里胡哨~

二、整个过程

三、简单实现整个过程

1、浏览器插件

谷歌扩展核心的文件 manifest.jsondevtools_page 是 devtools 后台执行的页面。

{ "manifest_version": 2, "name": "panel devtools", "version": "1.0.0", "browser_action": { "default_icon": { "128": "icons/128-gray.png", "16": "icons/16-gray.png", "48": "icons/48-gray.png" }, "default_title": "panel Devtools" }, "description": "panel DevTools extension for debugging Chorme Console panels.", "devtools_page": "devtools-background.html", "icons": { "128": "icons/128.png", "16": "icons/16.png", "48": "icons/48.png" } }

下面是 devtools-background.html 文件。需注意js需要使用外链式引入。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>devtools</title> </head> <body> <script src="./devtools.js"></script> </body> </html>

devtools.js 文件。创建一个控制台里类似 console,network 的 Panel,成功的话可以看到 ChromeDevToolsPanel 标题的 Panel。

chrome.devtools.panels.create( // title 'ChromeDevToolsPanel', // iconPath null, // pagePath 'panel.html' );

panel.html 文件。该文件中有一个文字为 hello panels! 按钮,后续绑定点击事件发起请求。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <button id="file">hello panels!</button> <script src="./panel.js"></script> </body> </html>

panel.js 文件。

document.querySelector('#file').onclick = function () { fetch('http://localhost:3000/dev').then(res=>{ console.log(res,'---') }) };

2、服务器接收请求

本地快速使用 express 来搭建一个 node 的服务器环境,实际上 vite 使用的是 connect 一个包(很好奇他们使用了那么多的包是平时积累的,还是需要使用到时特意去查的)。

const express = require('express'); var cors = require('cors'); const { spawn } = require('child_process') const app = express(); app.use(cors()) app.get('/dev', (req, res) => { spawn( 'cmd.exe', ['/C','code','F:/item/src/App.vue'], { stdio: 'inherit' } ) res.send('Hello World!'); }); app.listen(3000, () => { console.log('示例应用正在监听 3000 端口 !'); });

以上,非常简单实现了在 windows 环境下从浏览器控制台新增 panel 点击按钮发送请求、编辑器打开文件。

更多关于vue-devtools 打开源码位置的资料请关注软件开发网其它相关文章!



VUE 开源 源码

需要 登录 后方可回复, 如果你还没有账号请 注册新账号