2016-11-11 73 views
3

我有一個獨立的節點js腳本。 我正在使用該腳本執行一些本地任務。我想在chrome開發工具中調試該腳本。我知道我可以通過在代碼中放置調試器來調試它,但不想這樣做。在chrome開發工具中調試本地nodejs腳本

在文檔的NodeJS我看到它有一個像一些選項 -

V8督察集成的Node.js#注:這是一個實驗 功能。

V8 Inspector集成允許將Chrome DevTools附加到Node.js 實例中進行調試和分析。

當 啓動Node.js應用程序時,可以通過傳遞--inspect標誌來啓用V8 Inspector。也可以提供帶有該標誌的自定義端口 ,例如, --inspect = 9222將接受DevTools端口9222.

連接要打破上的應用程序代碼的第一行中,提供 --debug-BRK標誌除了--inspect。

--inspect index.js

但是,當我這樣做,它給了我錯誤,如$節點 -

$ node --inspect index.js 
node: bad option: --inspect 

我的節點版本是:

$ node --version 
v4.4.7 
+1

節點4不支持沒有這個實驗性的功能。它出現在節點6中。可能你正在閱讀最新的文檔。這是一個節點4:https://nodejs.org/dist/latest-v4.x/docs/api/debugger.html – Andrey

+0

如果您正在運行node.js v4,那麼[node-inspector](https:/ /github.com/node-inspector/node-inspector)值得一看 – dan

+0

與NodeJs中的開發/調試相關的相關文章[here](https://stackoverflow.com/q/19503641/465053)。 – RBT

回答

1

@Andrey 非常感謝您指出我在很長一段時間內撓頭是。 @dan 感謝節點檢查員的建議。

我只是發佈一個答案,以防其他人可能卡住這一點。

我已經安裝了節點檢查,並

這是我在做什麼,開始調試.. 打開一個終端和

$ node-inspector --no-preload 
Node Inspector v0.12.5 
Visit http://127.0.0.1:8080/?ws=127.0.0.1:8080&port=5858 to start debugging. 

在另一端,

$ node --debug-brk app.js 
debugger listening on port 5858 

Intially我只使用--debug。但它沒有達到斷點並正在通過所有代碼。然後我用--debug-brk。使用--debug-brk導致節點在應用程序的第一行中斷,並等待調試器命中斷點。

然後開始谷歌Chrome和去 http://127.0.0.1:8080/debug?port=5858

這裏Chrome瀏覽器開發工具被打開,我能夠把破發點,並調試代碼。

9

您需要點6.3或以上--inspect在4.4.7

相關問題