Подтвердить что ты не робот

Запустите приложение node.js в отладке с супервизором

Я использую supervisor для автоматической перезагрузки my node.js, например.

supervisor -w . app.js

Однако я не могу решить, как заставить диспетчера запускать процесс node.js при отладке, например. эквивалентно

node --debug app.coffee

У кого-нибудь есть идеи?

4b9b3361

Ответ 1

Это решение будет работать для * nix:

Перейдите в /usr/local/bin или любой другой каталог в вашей $PATH

$ cd /usr/local/bin

Создайте исполняемый файл script (скажем, node -debug) со следующим содержимым

#!/bin/bash
node --debug [email protected]

Чтобы сделать его выполнимым:

$ sudo chmod 777 /usr/local/bin/node-debug

Теперь вы можете запустить супервизор следующим образом:

$ supervisor -x node-debug script.js

P.S.: Чтобы округлить его:

su
echo '#!/bin/bash
node --debug [email protected]' > /usr/local/bin/node-debug
chmod 777 /usr/local/bin/node-debug

Ответ 2

Это также работает (и вам не нужен отдельный bash script):

supervisor -- --debug app.js
supervisor -- --debug=7070 app.js

Ответ 3

node -dev

node -dev на Github

"Все аргументы передаются дочернему процессу. node -dev --debug server.js будет отлаживать ваше приложение, а не сам супервайзер."

Создайте "test.js" node.js script в $HOME/nodetest

Первый терминал (запустите node в режиме отладки, debug будет прослушивать порт 5858, node -dev будет перезагружать измененные файлы):

    cd $HOME/nodetest
    npm install node-dev
    node_modules/.bin/node-dev --debug test.js

Второй терминал (запустите веб-инспектор для браузера на основе WebKit, инспектор подключается к порту 5858 отладчика и слушает порт 8080):

    cd $HOME/nodetest
    npm install node-inspector
    node_modules/.bin/node-inspector

Откройте этот URL-адрес в браузере на основе WebKit (Chrome, Safari и т.д.):

    http://0.0.0.0:8080/debug?port=5858

Нажмите "Сценарии" и установите контрольные точки в своем коде.

Ответ 4

Из сайта CoffeeScript:

- nodejs В исполняемом файле node есть некоторые полезные параметры, которые вы можете установить, например --debug, --debug-brk и -max-stack-size. Используйте этот флаг для прямого доступа к параметрам Node.js.

Я пробовал это, и он работал:

supervisor - --nodejs --debug app.coffee

Вы можете добавить другие аргументы следующим образом:

supervisor -w. -n ошибка - --nodejs --debug app.coffee

Ответ 5

Используйте флаг -x, как описано на странице node-supervisor github

supervisor -w . -x 'node --debug' app.js

но это не будет работать с coffeescript, поэтому вы должны использовать

supervisor -w . -x 'coffee --debug' app.js