Как я могу передать аргументы исполняемому файлу в nodemon (или node-supervisor)? - PullRequest
7 голосов
/ 15 января 2012
Узел

можно запустить с таким параметром отладки, как этот

$ node --debug src/file.js

Я также могу передать этот параметр через двоичный файл coffee-script, как этот

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

, который работает.Но все становится сложнее, когда я привлекаю руководителя .Запуск сценариев кофе не проблема:

$ supervisor -w src src/file.coffee

Но я хочу отладить сценарии кофе, которые я запускаю с supervisor .Как я могу отправить аргументы, такие как --debug через supervisor ?Я попытался установить для исполняемого файла строку со следующими аргументами:

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

, что привело к бесконечно повторяющемуся сообщению об ошибке, гласящему:

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

Что странно,потому что работает coffee --nodejs --debug src/server.coffee в терминале.

Так как я могу отправлять аргументы через supervisor ?


Редактировать: Я хочу расширить свой вопрос, упомянув, что я также попытался использовать nodemon .Кажется, nodemon считается предпочтительнее node-supervisor , поэтому я приму любой ответ, объясняющий, как передать --debug процессу узла при запуске сценариев кофе через nodemon


Редактировать: Вот вывод 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

Ответы [ 4 ]

7 голосов
/ 05 декабря 2012

Вы можете использовать -- с супервизором. Не уверен, что это будет работать с синтаксисом -x, хотя:

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

6 голосов
/ 17 января 2012

на самом деле, это оказалось ошибкой:)

Короткий путь:

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)

0 голосов
/ 15 января 2012

Оказывается, проблема в том, что аргументы просто передаются в обратном порядке. Следующие работы

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

Я также исправил проблему и отправил запрос на получение автору в github

0 голосов
/ 15 января 2012

Из краткого обзора супервизора, похоже, что он передает все аргументы в качестве аргументов самому скрипту, поэтому вы захотите использовать nodemon.

Nodemon выбирает свои собственные аргументы, но в противном случае ониперешел на узел.В текущей версии аргументы после файла js / coffee сохраняются, а аргументы перед файлом JS имеют инвертированный порядок, поэтому попробуйте это.

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

Конечно, похоже, вы тоже это заметили:P https://github.com/remy/nodemon/issues/54

Так что да, проблема заказа - это ошибка, которая, мы надеемся, будет исправлена.

...