如何将parameter passing给nodemon(或node-supervisor)中的可执行文件?

节点可以像这样使用debugging参数运行

$ node --debug src/file.js 

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

 $ coffee --nodejs --debug src/file.coffee 

哪个工作。 但是当涉及主pipe时事情会变得更加困难。 运行咖啡脚本是没有问题的:

 $ supervisor -w src src/file.coffee 

但是我想debugging我和主pipe一起运行的咖啡脚本。 如何通过主pipe发送--debug等参数? 我试着将可执行文件设置为像这样的参数的string:

 $ supervisor -w src -x "coffee --nodejs --debug" src/server.coffee 

其中产生了一个无限重复的错误信息说

 DEBUG:用'coffee --nodejs --debug src / server.coffee'开始subprocess
 DEBUG:execvp():没有这样的文件或目录

这很奇怪,因为在terminal中运行coffee --nodejs --debug src/server.coffee工作。

那么我怎么能通过主pipe发表意见 ?


编辑:我想扩大我的问题,提到我现在也尝试使用nodemon 。 看起来nodemon被认为比node-supervisor更可取,所以我会接受任何解释如何通过nodemon启动咖啡脚本来传递--debug到节点进程


编辑:这是来自nodemon的输出。 很明显,这些论点不是以相同的顺序传递的:-(

 $ nodemon -w src -x咖啡--nodejs --debug src / server.coffee
 1月15日03:41:56  -  [nodemon] v0.6.5
 1月15日03:41:56  -  [nodemon]观看:/ foo / bar / server / src
 1月15日03:41:56  -  [nodemon]正在运行--debug
 1月15日03:41:56  -  [nodemon]启动`coffee --debug --nodejs src / server.coffee`

 Node.js的:201
        扔e;  // process.nextTick错误,或第一次打勾时发生“错误”事件
               ^

错误:无法识别的选项:--debug

其实,原来是一个错误:)

简而言之:

 nodemon --debug -w src src/server.coffee 

或者(其中–nodejs和–debug作为exec被包括在内)

 nodemon -x "coffee --nodejs --debug" -w src src/server.coffee 

或者(看起来比上面好)

 nodemon -x coffee --nodejs --debug -w src src/server.coffee 

(全部在nodemon 0.6.6上)

你可以和主pipe一起使用。 不知道这是否会使用-x语法:

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

从主pipe的快速审查,它看起来像它将所有参数作为parameter passing给脚本本身,所以你会想使用nodemon。

Nodemon挑出它自己的参数,否则它们被传递给节点。 在当前版本中,js / coffee文件之后的参数被保留,并且JS文件之前的参数的顺序颠倒了,所以试试这个。

 nodemon -w src -x coffee --debug --nodejs src/server.coffee 

当然,看起来你也注意到了:P https://github.com/remy/nodemon/issues/54

所以是的,sorting问题是一个希望得到修复的错误。

事实certificate,问题是参数只是以相反的顺序传递。 以下的作品

 $ nodemon --debug --nodejs -w src -x coffee src/server.coffee 

我也解决了这个问题,并向github上的作者发送了一个pull请求