18

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

supervisor -w . app.js

但是我不知道如何让主管在调试中运行 node.js 进程,例如相当于

node --debug app.coffee

有人有什么想法吗?

4

5 回答 5

27

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

supervisor -- --debug app.js
supervisor -- --debug=7070 app.js
于 2012-04-24T10:28:11.047 回答
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

PS:为了四舍五入:

su
echo '#!/bin/bash
node --debug $@' > /usr/local/bin/node-debug
chmod 777 /usr/local/bin/node-debug
于 2011-09-20T08:34:04.717 回答
4

CoffeeScript 网站

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

我试过了,它奏效了:

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

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

主管-w。-n 错误 -- --nodejs --debug app.coffee

于 2012-12-11T23:46:49.900 回答
3

节点开发

Github 上的节点开发

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

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

第一个终端(以调试模式运行 node,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 等)中打开此 URL:

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

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

于 2011-06-26T15:30:25.373 回答
0

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

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

但这不适用于coffeescript,因此您必须使用

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

于 2011-06-24T13:44:48.127 回答