如何将参数传递给nodemon(或node-supervisor)中的可执行文件?

Hub*_*bro 9 debugging node.js coffeescript node-supervisor nodemon

可以使用这样的调试参数运行节点

$ node --debug src/file.js
Run Code Online (Sandbox Code Playgroud)

我也可以通过这样的咖啡脚本二进制传递该参数

$ coffee --nodejs --debug src/file.coffee
Run Code Online (Sandbox Code Playgroud)

哪个有效.但是当我让主管参与时,事情变得更加困难.运行咖啡脚本没问题:

$ supervisor -w src src/file.coffee
Run Code Online (Sandbox Code Playgroud)

但是我想调试我和主管一起运行的咖啡脚本.我如何--debug通过主管发送论据?我尝试将可执行文件设置为带有如下参数的字符串:

$ supervisor -w src -x "coffee --nodejs --debug" src/server.coffee
Run Code Online (Sandbox Code Playgroud)

这产生了无限重复的错误信息

DEBUG: Starting child process with 'coffee --nodejs --debug src/server.coffee'
DEBUG: execvp(): No such file or directory

这很奇怪,因为coffee --nodejs --debug src/server.coffee在终端中运行起作用.

那么如何通过主管发送论据呢?


编辑:我想扩展我的问题,提到我现在也尝试使用 nodemon.似乎 nodemon被认为比 node-supervisor受欢迎,所以我会接受任何解释--debug当通过 nodemon启动coffee脚本时如何传递给节点进程的答案


编辑:这是 nodemon的输出.显然,参数不会以相同的顺序传递:-(

$ nodemon -w src -x coffee --nodejs --debug src/server.coffee
15 Jan 03:41:56 - [nodemon] v0.6.5
15 Jan 03:41:56 - [nodemon] watching: /foo/bar/server/src
15 Jan 03:41:56 - [nodemon] running --debug
15 Jan 03:41:56 - [nodemon] starting `coffee --debug --nodejs src/server.coffee`

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^

Error: unrecognized option: --debug

Sys*_*dox 8

您可以--与主管一起使用.不知道这是否适用于-x语法:

supervisor -w src -- coffee.js --nodejs --debug src/server.coffee


Rem*_*arp 7

实际上,它原来是一个bug :)

简短的方法:

nodemon --debug -w src src/server.coffee
Run Code Online (Sandbox Code Playgroud)

或者(其中--nodejs和--debug包含在exec中)

nodemon -x "coffee --nodejs --debug" -w src src/server.coffee
Run Code Online (Sandbox Code Playgroud)

或者(看起来比上面更好)

nodemon -x coffee --nodejs --debug -w src src/server.coffee
Run Code Online (Sandbox Code Playgroud)

(全部在nodemon 0.6.6)