之前調試grunt插件時,都是通過人肉打log來調試。不僅效率低,而且會產生一堆無用的代碼。於是簡單google了下node斷點調試的方法,總結了下。
借助node-inspector,我們可以通過Chrome瀏覽器的調試工具來調試。
一、安裝node-inspector
npm install -g node-inspector
二、監聽Nodejs的debug調試端口
node-inspector &
見到輸出下面log,http://127.0.0.1:8080/debug?port=5858 很關鍵,后面我們會用到
[1] 2123
casperchenMacBookPro:demo casperchen$ Node Inspector v0.6.1
info - socket.io started
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
三、調試grunt任務
輸入如下命令,將task
替換成你要運行的命令
node --debug-brk $(which grunt) task
得到如下輸出,說明grunt已經進入調試模式
debugger listening on port 5858
將上一步的http://127.0.0.1:8080/debug?port=5858
帖到地址欄,回車,如果你看到下面場景,恭喜~
補充:2014.02.12
三、windows下調試
之前寫這篇博文是在mac上做的調試,當回到公司日常開發用的機器上就傻眼了,因為用的是windows系統。瞎倒騰了一下,改成下面命令也勉強可用
"c:\Program Files\nodejs\node.exe" --debug-brk C:\Users\casperchen\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt task
簡單介紹下上面的命令,由於對dos命令是睜眼瞎,求路過的兄弟優化~
"c:\Program Files\nodejs\node.exe" # node的安裝路徑 --debug-brk # 表示要進入調試模式,且在第一行斷點 C:\Users\casperchen\AppData\Roaming\npm\node_modules\grunt-cli\bin\grunt # grunt的安裝路徑 task # grunt路徑
參考資料:
http://www.nodejs.org/api/debugger.html