如何将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请求