使用瀏覽器開發者工具調試前端JS
適用于調試運行在瀏覽器中的JavaScript代碼(如網頁交互邏輯)。打開Chrome/Firefox瀏覽器,右鍵點擊頁面元素選擇“檢查”(或按F12)打開開發者工具,切換至“Sources”選項卡,在左側文件列表中找到目標JS文件,點擊行號左側添加斷點。刷新頁面或觸發對應事件(如點擊按鈕),代碼會在斷點處暫停,此時可查看變量值、調用堆棧、作用域信息,或使用“Step Over(F10)”“Step Into(F11)”“Step Out(Shift+F11)”等命令控制執行流程。
使用Node.js內置調試器調試服務端JS
針對Node.js運行的服務端JS代碼(如Express應用),可通過debugger
語句觸發調試。在代碼中需要暫停的位置添加debugger;
,然后在終端運行node inspect your_script.js
(替換為實際文件名)啟動調試器。調試器會暫停在debugger
語句處,此時可輸入命令控制執行:cont
(繼續執行至下一個斷點或結束)、next
(執行下一行,不進入函數)、step
(進入函數內部)、out
(退出當前函數)、setBreakpoint(line)
(在指定行設置斷點)、watch(expr)
(監視表達式值變化)。
通過VS Code集成調試(推薦)
Visual Studio Code(VSCode)作為常用IDE,內置了對Node.js和瀏覽器JS的調試支持。打開JS項目,在左側邊欄點擊“運行和調試”圖標(蟲子+三角形),選擇“創建launch.json文件”,根據環境選擇配置:
program
字段為入口文件路徑(如"${workspaceFolder}/app.js"
);url
為本地開發地址(如"http://localhost:3000"
)。利用日志輸出快速定位問題
對于簡單調試或生產環境排查,console.log()
是最直接的技巧。在代碼關鍵位置(如函數入口、變量賦值后)添加console.log()
語句,輸出變量值、函數執行狀態等信息(如console.log('User data:', userData)
)。通過終端查看日志輸出,快速判斷代碼執行流程是否符合預期,適合快速驗證問題。
結合測試框架調試(如Jest)
使用Jest等測試框架編寫單元測試,可在測試過程中調試代碼。安裝Jest(npm install --save-dev jest
),在package.json
中添加測試腳本("test": "jest"
),編寫測試用例(如app.test.js
)。運行npm test
執行測試,若測試失敗,可通過--inspect-brk
標志啟動調試:node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand
,然后在Chrome開發者工具中調試測試用例,查看測試執行中的變量和調用堆棧。
遠程調試(適用于服務器環境)
若JS代碼運行在遠程Debian服務器上,可通過--inspect
或--inspect-brk
標志啟動調試,然后在本地Chrome瀏覽器中訪問chrome://inspect
,點擊“Configure”添加服務器IP和端口(如localhost:9229
),再點擊“Open dedicated DevTools for Node”即可遠程調試服務器上的JS代碼,適合排查線上環境問題。