我正在使用supervisor自動重新加載我的node.js,例如,運行node.js應用程序與監督程序調試
supervisor -w . app.js
但是,我不能找出如何讓監督員在調試中運行node.js過程,例如,相當於
node --debug app.coffee
任何人有什麼想法?
我正在使用supervisor自動重新加載我的node.js,例如,運行node.js應用程序與監督程序調試
supervisor -w . app.js
但是,我不能找出如何讓監督員在調試中運行node.js過程,例如,相當於
node --debug app.coffee
任何人有什麼想法?
該解決方案將在* nix工作:
轉到/usr/local/bin
或在您的$ PATH任何其他目錄
$ cd /usr/local/bin
創建可執行腳本(比如,節點調試)包含以下內容
#!/bin/bash
node --debug [email protected]
爲了使其可執行:
$ sudo chmod 777 /usr/local/bin/node-debug
現在你可以這樣運行了主管:
$ supervisor -x node-debug script.js
附::爲了圓起來:
su
echo '#!/bin/bash
node --debug [email protected]' > /usr/local/bin/node-debug
chmod 777 /usr/local/bin/node-debug
這樣我得到'調試器在端口5858上偵聽無法在端口5858上打開套接字,在重試之前等待1000毫秒,而手動'節點--debug'工作正常。 – Redsandro
使用-x
標誌的node-supervisor
github page
supervisor -w . -x 'node --debug' app.js
作爲證明,但不會與CoffeeScript的工作,所以你必須使用
supervisor -w . -x 'coffee --debug' app.js
嘗試過,但與DEBUG進入無限循環:用'coffee --debug app.coffee'開始子進程DEBUG:execvp():沒有這樣的文件或目錄 –
@JamesHollingworth我認爲'咖啡--debug'只能工作太多了:P – Raynos
「所有參數都傳遞給子進程。節點開發--debug server.js將調試應用程序,而不是監督者本身。」
創建 「test.js」 的Node.js腳本$ HOME/nodetest
第一終端(運行在調試模式下的節點,調試將要監聽的端口5858上,節點開發會重新修改過的文件):
cd $HOME/nodetest
npm install node-dev
node_modules/.bin/node-dev --debug test.js
第二終端(啓動網絡檢查器基於WebKit的瀏覽器,檢查連接到調試器的端口5858並聽取端口8080):
cd $HOME/nodetest
npm install node-inspector
node_modules/.bin/node-inspector
打開這個網址的基於WebKit的瀏覽器(Chrome,Safari等):
http://0.0.0.0:8080/debug?port=5858
點擊 「腳本」,並設置在代碼中的斷點。
這也適用於(而且你並不需要一個單獨的bash腳本):
supervisor -- --debug app.js
supervisor -- --debug=7070 app.js
這個應該是被接受的答案。感謝你的分享。 –
是的,它的工作原理如此簡單,也適用於「高級」檢測器,例如用於運行Express:'DEBUG = myapp:* supervisor - --inspect bin/www'。我遇到了嘗試使用-x參數的事件錯誤,但是這種替代參數格式可以工作。 – scipilot
--nodejs的node可執行文件提供了一些有用的選項,例如 --debug,--debug-brk和--max-stack-size。使用此標誌將選項直接轉發到Node.js.
我想這和它的工作:
主管 - --nodejs --debug app.coffee
您可以添加這樣的其他參數:
主管-w。 -n錯誤 - --nodejs --debug app.coffee
主管鏈接斷開。網頁顯示「Posterous Spaces is already available」 –