Узел отладки в VS Code (или других IDE) - PullRequest
0 голосов
/ 23 апреля 2020

В коде VS есть два способа запустить консоль отладки для Node. Одним из них является «запуск», который выполняет узел и передает в ваш скрипт. Сценарий выполняется и выход из узла, который я не хочу, чтобы это произошло. Другой способ - «присоединить». Таким образом, вы запускаете узел самостоятельно, используя --inspect, а затем присоединяете код VS к отладчику. Затем мне нужно go к консоли узла и набрать «.load myscript». Это будет держать консоль узла открытой после того, как скрипт завершится.

Я хочу иметь простоту использования метода «launch», но держать консоль узла открытой в конце, как подход «attach», так Затем я могу ввести дополнительные команды или просмотреть содержимое переменных. Должен быть способ сделать это, но я не могу понять как. Кто-нибудь может посоветовать, как мне этого добиться? Я даже рад использовать метод «запуска», только если бы кто-то мог добавить точку останова в конец кода, чтобы он оставался открытым.

1 Ответ

0 голосов
/ 24 апреля 2020

Процесс node.js не будет завершен, пока ожидают события. Простой способ сделать это в конце вашего скрипта - запустить сервер, который ничего не делает:

net.createServer(()=>{}).listen(0)

Установка порта на 0 заставит ОС выдавать вам случайный доступный порт, чтобы вы могли не нужно думать о том, какой порт использовать.

Обычно это безопасно, если вы находитесь в локальной сети. Однако, если вас беспокоит другое программное обеспечение, подключающееся к вашему поддельному серверу, вы можете просто закрыть все входящие подключения после их получения:

net.createServer(x=>x.end()).listen(0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...