vue-devtools 打開源碼位置實(shí)現(xiàn)過程
一、核心邏輯
通過 code 命令來打開 vs code 編輯器。
code path/dir/file
可以在本地 cmd 終端運(yùn)行下,試試能否正常打開編輯器,不行的話請參考上面文章。 關(guān)于該 code 命令,有個(gè)故事是有時(shí)在同事那兒看代碼時(shí),發(fā)現(xiàn)每次都是使用快捷鍵 win + E
打開文件管理器,找到對應(yīng)項(xiàng)目的文件夾,在該文件管理器路徑內(nèi)輸入 cmd
然后回車,出現(xiàn)終端使用命令行 code .
打開當(dāng)前文件夾的項(xiàng)目感覺有點(diǎn)兒酷,回頭再仔細(xì)想下直接使用鼠標(biāo)右鍵打開編輯器它不就一個(gè)動(dòng)作嘛,花里胡哨~
二、整個(gè)過程
三、簡單實(shí)現(xiàn)整個(gè)過程
1、瀏覽器插件
谷歌擴(kuò)展核心的文件 manifest.json
,devtools_page
是 devtools 后臺(tái)執(zhí)行的頁面。
{ "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需要使用外鏈?zhǔn)揭搿?/p>
<!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
文件。創(chuàng)建一個(gè)控制臺(tái)里類似 console,network 的 Panel,成功的話可以看到 ChromeDevToolsPanel 標(biāo)題的 Panel。
chrome.devtools.panels.create( // title 'ChromeDevToolsPanel', // iconPath null, // pagePath 'panel.html' );
panel.html
文件。該文件中有一個(gè)文字為 hello panels!
按鈕,后續(xù)綁定點(diǎn)擊事件發(fā)起請求。
<!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、服務(wù)器接收請求
本地快速使用 express 來搭建一個(gè) node 的服務(wù)器環(huán)境,實(shí)際上 vite 使用的是 connect
一個(gè)包(很好奇他們使用了那么多的包是平時(shí)積累的,還是需要使用到時(shí)特意去查的)。
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('示例應(yīng)用正在監(jiān)聽 3000 端口 !'); });
以上,非常簡單實(shí)現(xiàn)了在 windows 環(huán)境下從瀏覽器控制臺(tái)新增 panel 點(diǎn)擊按鈕發(fā)送請求、編輯器打開文件。
更多關(guān)于vue-devtools 打開源碼位置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue中的render函數(shù)、h()函數(shù)、函數(shù)式組件詳解
在vue中我們使用模板HTML語法來組建頁面的,使用render函數(shù)我們可以用js語言來構(gòu)建DOM,這篇文章主要介紹了vue中的render函數(shù)、h()函數(shù)、函數(shù)式組件,需要的朋友可以參考下2023-02-02關(guān)于vue-socket.io使用及版本原因消息無法監(jiān)聽bug
這篇文章主要介紹了關(guān)于vue-socket.io使用及版本原因消息無法監(jiān)聽bug,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Vue使用mockjs問題(返回?cái)?shù)據(jù)、get、post 請求)
這篇文章主要介紹了Vue使用mockjs問題(返回?cái)?shù)據(jù)、get、post 請求),具有很好的參考價(jià)值,希望對大家有所幫助。2023-05-05vue+elementUI實(shí)現(xiàn)分頁效果
這篇文章主要為大家詳細(xì)介紹了vue+elementUI實(shí)現(xiàn)分頁效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07