Запустите приложение node.js в отладке с супервизором
Я использую supervisor для автоматической перезагрузки my node.js, например.
supervisor -w . app.js
Однако я не могу решить, как заставить диспетчера запускать процесс node.js при отладке, например. эквивалентно
node --debug app.coffee
У кого-нибудь есть идеи?
Ответы
Ответ 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