本篇文章給大家介紹一下使用vscode調試node.JS的超簡單方法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
讓我們面對現實吧…調試 node.js 一直是我們心中的痛。
觸達調試 Node.js 的痛點
如果你曾經有幸為 Node.js 項目編寫代碼,那么當我說調試它以找到出錯的地方并不是最簡單的事情時,你就知道我在談論什么。
不像瀏覽器中的 JavaScript,也不像有類似 IntelliJ 這樣強大的 ide 的 Java,你無法到處設置斷點,刷新頁面或者重啟編譯器,也無法慢慢審閱代碼、檢查對象、評估函數、查找變異或者遺漏的變量等。你無法那樣去做,這簡直太糟糕了。
但 Node.js 也是可以被調試的,只是需要多費些體力。讓我們認真討論這些可選方法,我會展示給你在我開發經歷中遇到的最簡單調試方法。
調試 Node.js 的一些可選方法
有一些方式能調試有問題的 Node.js 程序。我把這些方法(包含詳細鏈接)都列在了下面。如果你感興趣,可以去了解下。
- console.log() — 如果你曾經編寫過 JavaScript 代碼,那么這個可靠的備用程序真的不需要進一步解釋。它被內置在 Node.js 并在終端中打印,就像內置到 JavaScript,并在瀏覽器控制臺中打印一樣。
在 Java 語言下,它是 System.out.println()。在 python 語言下,它是 print()。你明白我的意思了吧。這是最容易實現的方法,也是用額外的行信息來“弄臟”干凈代碼的最快方法 —— 但它(有時)也可以幫助你發現和修復錯誤。
- Node.js 文檔 —-inspect — Node.js 文檔撰寫者本身明白調試不大簡單,所以他們做了一些vscode幫助人們開始調試。
這很有用,但是老實說,除非你已經編寫了一段時間的程序,否則它并不是最容易破譯的。它們很快就進入了 UUIDs、WebSockets 和安全隱患的陷阱,我開始感到無所適從。我心里想:一定有一種不那么復雜的方法來做這件事。
- chrome DevTools — Paul Irish 在 2016 年撰寫了一篇有關使用 Chrome 開發者工具調試 Node.js 的vscode(并在 2018 年更新)。它看起來相當簡單,對于調試來說是一個很大的進步。
半個小時之后,我仍然沒有成功地將 DevTools 窗口連接到我的簡單 Node 程序上,我不再那么肯定了。也許我只是不能按照說明去做,但是 chrome devtools 似乎讓調試變得比它應該的更復雜。
- JetBrains — JetBrains 是我最喜歡的軟件開發公司之一,也是 IntelliJ 和 webstorm 的開發商之一。他們的工具有一個奇妙的插件生態系統,直到最近,他們還是我的首選 IDE。
有了這樣一個專業用戶基礎,就出現了許多有用的文章,它們調試 Node,但與 Node 文檔和 Chrome DevTools 選項類似,這并不容易。你必須創建調試配置,附加正在運行的進程,并在 WebStorm 準備就緒之前在首選項中進行大量配置。
- visual studio Code — 這是我新的 Node 調試黃金標準。我從來沒有想過我會這么說,但是我完全投入到 vscode 中,并且團隊所做的每一個新特性的發布,都使我更加喜愛這個 IDE。
VS Code 做了其他所有選項在vscode 都沒能做到的事情,這讓它變得傻瓜式簡單。如果你想讓你的調試變得更高級,這當然也是可以的,但是他們把它分解得足夠簡單,任何人都可以快速上手并運行,不論你對 IDE、Node 和編程的熟練度如何。這太棒了。
配置 VS Code 來調試 Node.js
好吧,讓我們來配置 VS Code 來調試 Node,開始配置它吧。
打開 Preferences > Settings,在搜索框中輸入 node debug。在 Extensions 選項卡下應該會有一個叫 Node debug 的擴展。在這里點擊第一個方框: Debug > Node: auto Attach,然后設置下拉框的選項為 on。你現在幾乎已經配置完成了。是的,這相當的簡單。
現在進入項目文件,然后通過點擊文件的左側邊欄,在你想要看到代碼暫停的地方設置一些斷點。在終端內輸入 node –inspect
VS Code 正在進行的代碼調試
如果你需要一個 Node.js 項目來測試它,可以下載我的 repo。它是用來測試使用 Node 傳輸大量數據的不同形式的,但是它在這個演示中非常好用。
當你敲擊 Enter 鍵時,你的 VS Code 終端底部會變成橙色,表示你處于調試模式,你的控制臺會打印一些類似于 Debugger Attached 的信息。
當你看到這一幕發生時,恭喜你,你已經讓 Node.js 運行在調試模式下啦!
至此,你可以在屏幕的左下角看到你設置的斷點(而且你可以通過復選框切換這些斷點的啟用狀態),而且,你可以像在瀏覽器中那樣去調試。在 IDE 的頂部中心有小小的繼續、步出、步入、重新運行等按鈕,從而逐步完成代碼。VS Code 甚至用黃色突出顯示了你已經停止的斷點和行,使其更容易被跟蹤。
當你從一個斷點切換到另一個斷點時,你可以看到程序在 VS Code 底部的調試控制臺中打印出一堆 console.log,黃色的高亮顯示也會隨之一起移動。
總結
Node.js 的調試不需要像過去那樣麻煩,也不需要在代碼庫中包含 500 多個 console.log 來找出 bug 的位置。
visual studio code 的 Debug > Node: Auto Attach 設置使之成為過去,我對此非常感激。
再過幾周,我將會寫一些關于端到端測試的文章,使用 Puppeteer 和 headless Chrome,或者使用 Nodemailer 在 MERN 應用程序中重置密碼,所以請關注我,以免錯過。
感謝閱讀,希望這篇文章能讓你了解如何在 VS Code 的幫助下更容易、更有效地調試 Node.js 程序。非常感謝你給我的掌聲和對我文章的分享!
原文地址:https://itnext.io/the-absolute-easiest-way-to-debug-node-js-with-vscode-2e02ef5b1bad
原文作者:Paige Niedringhaus
譯文永久鏈接:https://github.com/xitu/gold-miner/blob/master/TODO1/the-absolute-easiest-way-to-debug-node-js-with-vscode.md
譯者:iceytea
更多編程相關知識,請訪問:vscode!!