在supervisor中debuggingnode.js应用程序

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

supervisor -w . app.js 

然而,我不能找出如何让主pipe在debugging中运行node.js进程,例如相当于

 node --debug app.coffee 

任何人有任何想法?

这个解决scheme适用于* nix:

转到/usr/local/bin或$ PATH中的任何其他目录

 $ cd /usr/local/bin 

用下面的内容创build一个可执行的脚本(比如node-debug)

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

为了使其可执行:

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

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

 $ supervisor -x node-debug script.js 

PS:四舍五入:

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

这也适用(你不需要单独的bash脚本):

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

从CoffeeScript站点 :

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

我试过这个,它的工作原理:

主pipe – –nodejs –debug app.coffee

你可以添加像这样的其他参数:

监督-w。 -n错误 – –nodejs –debug app.coffee

节点开发

在Github上的node-dev

“所有的参数都传递给subprocess,node-dev –debug server.js将debugging你的应用程序,而不是pipe理员本身。”

在$ HOME / nodetest中创build一个“test.js”node.js脚本

第一个terminal(在debugging模式下运行节点,debugging将监听端口5858,node-dev将重新加载更改的文件):

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

第二个terminal(启动基于WebKit的浏览器的Web检查器,检查器连接到debugging器的端口5858并监听端口8080):

  cd $HOME/nodetest npm install node-inspector node_modules/.bin/node-inspector 

在基于WebKit的浏览器(Chrome,Safari等)中打开此URL:

  http://0.0.0.0:8080/debug?port=5858 

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

使用node-supervisor github页面上logging的-x标志

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

但这不适用于咖啡,所以你必须使用

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