開發Chrome擴展——Node.js Debugger

Node.js Debugger

目錄

  1. Node.js Debugger擴展展示及下載地址
  2. Node.js Debugger使用介紹
  3. Node.js Debugger開發思想
  4. 待改進
  5. 相關資料

1. Node.js Debugger擴展展示及下載地址

Node.js Debugger擴展展示

  1. 初始頁面


    初始展示頁面
  2. 操作失敗頁面


    操作失敗頁面

Node.js Debugger擴展下載地址

百度網盤地址:https://pan.baidu.com/s/1c1KLk5a

2. Node.js Debugger使用介紹

安裝Chrome擴展

  1. 打開Chrome擴展程序面板。
    擴展工具程序面板入口

2.直接將的.crx文件拖拽到擴展程序面板中,添加擴展程序。
屏幕快照 2017-11-30 13.23.31.png
  1. 添加擴展程序成功,可以在工具欄看到我們擴展程序的圖標(綠色小圖標)。
    添加成功提示

Node.js Debugger擴展程序使用介紹

  1. 輸入主機名和端口號,默認情況下主機名為localhost,端口號為9229,如果在啟動node inspector時,你使用的不是--inspect,而是--inspect=127.0.0.1:8000,此時Chrome與node inspector的通信端口為8000,因此,你需要重新設置端口。
    情況一:
    使用--inspect參數
    此時,打開Chrome,點擊擴展程序,直接點擊調試即可。

情況二:

使用--inspect=ip:port參數

設置端口號9000

此時,就必須設置端口號,如果不設置點擊調試的話,就會彈出彈出層,而不能正確訪問調試頁面。

使用過程中注意事項

  1. 確保node版本是7.x.x以上
    node inspector功能是在7.x.x版本以上才能使用。因此,如果當你點擊調試按鈕,彈出先標簽頁,但是頁面一直在轉圈,此時,你就要查看一下,是否是你的node版本太低了。

  2. 確保啟動了node inspector,并且建議使用--inspect-brk來啟動
    如果你使用--inspect啟動node inspector,并且你調試的只是一個過程式的js,此時你的代碼在調試之前就已經執行完,無法再進行調試,而是用--inspect-brk來啟動,將在所有程序的開頭開始調試,此時,你便可以在調試面板上添加斷點進行調試。

  3. 端口號設置問題
    確定輸入框中設置的端口號是否正確,并且端口號是否已經被占用。如果你設置的端口號已經已經被使用了,此時插件內部可能報錯,但是并不會直接顯示到插件展示頁面上,因此,如果發現點擊調試按鈕不彈出彈出層,也不彈出新的標簽頁,請檢查你的端口號是否被占用了。

  4. 一次調試完成后,不能直接刷新頁面,開始下一輪調試
    此時需要重新啟動新的node inspector,在按照上面的步驟打開頁面,否則可能會出現,無法進行調試,或者無法打開調試頁面的情況。

3. Node.js Debugger開發思想

Inspector clients must know and specify host address, port, and UUID to connect to the WebSocket interface. The full URL is ws://127.0.0.1:9229/0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e, of course dependent on actual host and port and with the correct UUID for the instance.
Node.js v7+版本提供了一個inspector的功能,在使用node運行js程序時,可以添加--inspector打開這個功能。
該功能為Chrome DevTools提供了一個通信接口,這是的Node進程可以和Chrome DevTools使用websocket直接進行通信
同時,也提供了用戶接口,用戶可以通過訪問
http://IP:port/json/list訪問到這個接口的相關信息,其中webSocketDebuggerUrl就是Chrome DevTools和Node進程的websocket通信地址,而devtoolsFrontendUrl,就是我們可以訪問的調試面板地址

[ {
  "description": "node.js instance",
  "devtoolsFrontendUrl": "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9000/ce3d915c-367e-4751-980c-a50cede6379d",
  "faviconUrl": "https://nodejs.org/static/favicon.ico",
  "id": "ce3d915c-367e-4751-980c-a50cede6379d",
  "title": "test.js",
  "type": "node",
  "url": "file:///Users/yyp/Desktop/test.js",
  "webSocketDebuggerUrl": "ws://127.0.0.1:9000/ce3d915c-367e-4751-980c-a50cede6379d"
} ]

因此我們通過http://IP:port/json/list返回數據中的devtoolsFrontendUrl字段,獲取調試頁面地址,然后在chrome插件中創建一個新的標簽頁,并且將該字段作為新標簽頁的url即可

4. 待改進

  1. 啟動擴展程序時,第一個輸入框被選中,出現藍色背景。
  2. 未提供用戶設置選項。

5. 相關資料

  1. node inspector 相關
    Debugging Guide: https://nodejs.org/en/docs/guides/debugging-getting-started/#debugging-guide
    Debugging Node.js Apps: https://nodejs.org/en/docs/inspector/
    如何在Chrome DevTools 中對Node程序進行調試: http://www.lxweimin.com/p/3ed910d3866c

  2. Chrome 插件開發相關
    Chrome擴展及應用開發(首發版):http://www.ituring.com.cn/book/1421
    百度瀏覽器開發文檔:https://chajian.baidu.com/developer/extensions/getstarted.html

  3. 源碼
    github地址:https://github.com/DiligentYe/todo-list-chrome-extension/tree/nodejs-debugger

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,698評論 6 539
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,202評論 3 426
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,742評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,580評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,297評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,688評論 1 327
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,693評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,875評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,438評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,183評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,384評論 1 372
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,931評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,612評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,022評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,297評論 1 292
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,093評論 3 397
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,330評論 2 377

推薦閱讀更多精彩內容