我正在使用主管自动重新加载我的 node.js,例如
supervisor -w . app.js
但是我不知道如何让主管在调试中运行 node.js 进程,例如相当于
node --debug app.coffee
有人有什么想法吗?
我正在使用主管自动重新加载我的 node.js,例如
supervisor -w . app.js
但是我不知道如何让主管在调试中运行 node.js 进程,例如相当于
node --debug app.coffee
有人有什么想法吗?
这也有效(并且您不需要单独的 bash 脚本):
supervisor -- --debug app.js
supervisor -- --debug=7070 app.js
此解决方案适用于 *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
--nodejs 节点可执行文件有一些您可以设置的有用选项,例如 --debug、--debug-brk 和 --max-stack-size。使用此标志将选项直接转发到 Node.js。
我试过了,它奏效了:
主管 -- --nodejs --debug app.coffee
您可以像这样添加其他参数:
主管-w。-n 错误 -- --nodejs --debug app.coffee
“所有参数都传递给子进程。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
单击“脚本”并在代码中设置断点。
使用github 页面-x
上记录的标志node-supervisor
supervisor -w . -x 'node --debug' app.js
但这不适用于coffeescript,因此您必须使用
supervisor -w . -x 'coffee --debug' app.js