動態

詳情 返回 返回

Node 調試利器,前端、Node 開發必備 - VSCode JS Debug Terminal - 動態 詳情

經常看到有同學抱怨 Node 調試麻煩或者是搞不清怎麼調試各種腳本、JestWebpack 等等,而偶爾看到的調試相關的文章又全都是在寫 inspectlaunch.json 這些方案,其實有一定學習成本。

而其實在 VSCode 中早已內置了相當無腦的 Debug 方式,就是 JavaScript Debug Terminal,利用它我們只需要負責打斷點,別的什麼 inspectlaunch.json 都不需要關注,主打的就是一個無腦、簡單。

使用

要啓用 JavaScript Debug Terminal 過程實在是太無腦了,不過還是説一下吧,要開啓只需要一步:在 Terminal 中新開一個 JavaScript Debug Terminal,然後所有的腳本全都用它來啓動即可。

picture 1

實戰測試

空口無憑,下面我們通過幾個案例來測試一下有多好用。

node 腳本

首先我們創建一個 test.js 腳本,然後在需要調試的行數前方點擊添加上斷點,並進入 Debug Terminal 通過 node test.js 來執行。

picture 2

可以看到執行後直接就開啓了 VSCodedebug 模式,並且成功在斷點出停住。

npm script

再來試試 npm script 方式,我們先新建一個 package.json,然後在 scripts 中添加一條:"start": "node test.js",隨後在 Debug Terminal 執行 npm run start

picture 3

注意這次我們使用的是 debugger 來添加斷點,可以發現同樣成功進入斷點。

typescript debug

不止於此,我們再試試 typescript,新建一個 test.ts,然後通過 npx tsx test.ts 啓動。

picture 4

可以發現 typescript 一樣可以成功調試。

webpack

上面都屬於比較簡單的場景,實際場景我們可能經常會在打包或寫單測時遇到一些問題需要調試。現在我們先來隨便找個 webpack 模版試試 webpack

picture 5

可以看到在 webpack 源碼中打斷點同樣也可以支持。

jest

再來試試 jest,隨便拿 react 源碼裏的單測跑一下。

picture 6

不出所料,毫無問題。

其他方式

除了上面説的主動打開 Debug Terminal 的方式進行調試外,VSCode 還在 npm script 中集成了一些操作。

比如在 package.json 中的 scripts 上方的 Debug 按鈕,點擊後會讓你選擇項目中的 script 並啓動 Debug Terminal 進行調試。

picture 7

也可以在某個 script 的名字上 hover 後點擊出現的懸浮按鈕中的 Debug 直接調試對應的 script

picture 8

總結

可以看出 VSCodeJS Debug Terminal 基本支持了所有我們常用的調試場景,無論是 nodetypescriptwebpack 還是 jest,全部拿捏。並且使用絕對無腦,可以放心食用。

當然在使用過程中也遇到一些小問題,比如在跑 jest 時由於會啓動多個子進程此時點擊斷點工具條中的斷開可能會導致 Debug Terminal 後續失效,也有時會卡住。不過瑕不掩瑜,用了就知道 JS Debug Terminal 真香。

user avatar tianmiaogongzuoshi_5ca47d59bef41 頭像 cyzf 頭像 haoqidewukong 頭像 zaotalk 頭像 smalike 頭像 freeman_tian 頭像 jingdongkeji 頭像 qingzhan 頭像 dirackeeko 頭像 chongdianqishi 頭像 razyliang 頭像 huajianketang 頭像
點贊 160 用戶, 點贊了這篇動態!
點贊

Add a new 評論

Some HTML is okay.