使用supervisor在debug中运行node.js应用程序

时间:2011-06-24 12:49:05

标签: node.js supervisor

我正在使用supervisor自动重新加载我的node.js,例如

supervisor -w . app.js

但是我无法弄清楚如何让supervisor在debug中运行node.js进程,例如相当于

node --debug app.coffee

有人有任何想法吗?

5 个答案:

答案 0 :(得分:24)

这也有效(并且您不需要单独的bash脚本):

supervisor -- --debug app.js
supervisor -- --debug=7070 app.js

答案 1 :(得分:9)

此解决方案适用于* nix:

转到/usr/local/bin或$ PATH

中的任何其他目录
$ cd /usr/local/bin

使用以下内容创建可执行脚本(例如,node-debug)

#!/bin/bash
node --debug $@

使其可执行:

$ sudo chmod 777 /usr/local/bin/node-debug

现在你可以像这样运行主管:

$ supervisor -x node-debug script.js

P.S。:将其整理:

su
echo '#!/bin/bash
node --debug $@' > /usr/local/bin/node-debug
chmod 777 /usr/local/bin/node-debug

答案 2 :(得分:3)

<击> node-dev

node-dev on Github

  

“所有参数都传递给子进程.node-dev --debug server.js将调试你的应用程序,而不是主管本身。”

在$ HOME / nodetest

中创建“test.js”node.js脚本

第一个终端(在调试模式下运行节点,debug将侦听端口5858,node-dev将重新加载已更改的文件):

    cd $HOME/nodetest
    npm install node-dev
    node_modules/.bin/node-dev --debug test.js

第二个终端(启动基于WebKit的浏览器的Web检查器,检查器连接到调试器的端口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

单击“脚本”并在代码中设置断点。

答案 3 :(得分:3)

来自CoffeeScript site

  

- nodejs节点可执行文件有一些您可以设置的有用选项,例如   --debug, - debug-brk和--max-stack-size。使用此标志将选项直接转发到Node.js.

我试过这个并且有效:

主管 - --nodejs --debug app.coffee

您可以添加其他参数:

主管-w。 -n error - --nodejs --debug app.coffee

答案 4 :(得分:0)

使用node-supervisor github page

中记录的-x标记

supervisor -w . -x 'node --debug' app.js

但这不适用于coffeescript所以你必须使用

supervisor -w . -x 'coffee --debug' app.js