Я понимаю, что на этом есть много связанных вопросов. Нет, я нашел этот вопрос.Как я могу получить --debug и «смотреть», чтобы хорошо сосуществовать?
Я хочу, чтобы мой процесс перезапустился с --debug
, когда меняет код. Две команды в моей package.json:
"debug-no-inspect": "API_PORT=5566 API_LOGLEVEL=DEBUG node --debug dist/index.js | bunyan -o short",
"watch": "watch 'npm run debug-no-inspect' ./src -d --wait=1",
OK эти работы хорошо сами по себе и отлично работают без --debug
, но вместе --debug
вызовет ошибку EADDRINUSE:
Error: listen EADDRINUSE :::5858
Увеличение времени до 4 секунд не сделал этого. Он отлично работает, если я Ctrl-C и убиваю часы и перезапускаю, но это побеждает цель. Есть ли способ программно освободить этот порт отладчика перед перезагрузкой процесса, не убивая все процессы моего узла?
Мой лучший удар в это до сих пор: Добавить глупую переменную ENV (ID=9877876
или FINDME=alksdjflaksjdfl
) к команде запуска, а затем использовать это, чтобы найти процесс позже и убить его перед перезапуском:
"watch": "watch 'kill $(ps a | grep [ID]=9877876 | cut -d \" \" -f 1) && npm run debug-no-inspect' ./src -d"
Однако это не работает. Команда работает сама по себе, но не с watch
. Другая библиотека - лучший выбор?
Узел 6; OSX; Баш