開發(fā)Chrome擴展——Node.js Debugger

Node.js Debugger

目錄

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

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

Node.js Debugger擴展展示

  1. 初始頁面


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


    操作失敗頁面

Node.js Debugger擴展下載地址

百度網(wǎng)盤地址: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參數(shù)
    此時,打開Chrome站绪,點擊擴展程序遭铺,直接點擊調試即可。

情況二:

使用--inspect=ip:port參數(shù)

設置端口號9000

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

使用過程中注意事項

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

  2. 確保啟動了node inspector迫皱,并且建議使用--inspect-brk來啟動
    如果你使用--inspect啟動node inspector歉闰,并且你調試的只是一個過程式的js,此時你的代碼在調試之前就已經(jīng)執(zhí)行完卓起,無法再進行調試和敬,而是用--inspect-brk來啟動,將在所有程序的開頭開始調試戏阅,此時昼弟,你便可以在調試面板上添加斷點進行調試。

  3. 端口號設置問題
    確定輸入框中設置的端口號是否正確奕筐,并且端口號是否已經(jīng)被占用舱痘。如果你設置的端口號已經(jīng)已經(jīng)被使用了,此時插件內部可能報錯救欧,但是并不會直接顯示到插件展示頁面上衰粹,因此锣光,如果發(fā)現(xiàn)點擊調試按鈕不彈出彈出層笆怠,也不彈出新的標簽頁,請檢查你的端口號是否被占用了誊爹。

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

3. Node.js Debugger開發(fā)思想

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返回數(shù)據(jù)中的devtoolsFrontendUrl字段筋帖,獲取調試頁面地址奸晴,然后在chrome插件中創(chuàng)建一個新的標簽頁,并且將該字段作為新標簽頁的url即可日麸。

4. 待改進

  1. 啟動擴展程序時蚁滋,第一個輸入框被選中,出現(xiàn)藍色背景赘淮。
  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.reibang.com/p/3ed910d3866c

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市梢卸,隨后出現(xiàn)的幾起案子走诞,更是在濱河造成了極大的恐慌,老刑警劉巖蛤高,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚣旱,死亡現(xiàn)場離奇詭異,居然都是意外死亡戴陡,警方通過查閱死者的電腦和手機塞绿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恤批,“玉大人异吻,你說我怎么就攤上這事∠才樱” “怎么了诀浪?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長延都。 經(jīng)常有香客問我雷猪,道長,這世上最難降的妖魔是什么晰房? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任求摇,我火速辦了婚禮,結果婚禮上殊者,老公的妹妹穿的比我還像新娘与境。我一直安慰自己,他們只是感情好幽污,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布嚷辅。 她就那樣靜靜地躺著,像睡著了一般距误。 火紅的嫁衣襯著肌膚如雪簸搞。 梳的紋絲不亂的頭發(fā)上扁位,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天,我揣著相機與錄音趁俊,去河邊找鬼域仇。 笑死,一個胖子當著我的面吹牛寺擂,可吹牛的內容都是我干的暇务。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼怔软,長吁一口氣:“原來是場噩夢啊……” “哼垦细!你這毒婦竟也來了?” 一聲冷哼從身側響起挡逼,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤括改,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后家坎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嘱能,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年虱疏,在試婚紗的時候發(fā)現(xiàn)自己被綠了惹骂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡做瞪,死狀恐怖对粪,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情穿扳,我是刑警寧澤衩侥,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站矛物,受9級特大地震影響,放射性物質發(fā)生泄漏跪但。R本人自食惡果不足惜履羞,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望屡久。 院中可真熱鬧忆首,春花似錦、人聲如沸被环。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筛欢。三九已至浸锨,卻和暖如春唇聘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背柱搜。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工迟郎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人聪蘸。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓宪肖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親健爬。 傳聞我的和親對象是個殘疾皇子控乾,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內容