Не знаю, как начать отладку кода Node.js в JetBrains WebStorm

Я пытаюсь научиться отлаживать код Node.js в WebStorm. Код представляет собой простой код для начала работы, который можно найти здесь:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Приведенный выше код работает правильно после того, как я запустил node app.js в командной строке и посетил http://localhost:3000. Затем я попытался отладить его локально в JetBrains WebStorm, следуя инструкциям здесь. Это конфигурация отладки приложения Node.js в WebStorm:

введите здесь описание изображения

Я щелкнул значок ошибки, чтобы запустить код Node.js в режиме отладки. Это результат:

"C:\Program Files (x86)\JetBrains\WebStorm 10.0.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=24163 --nolazy --inspect app.js
Debugger listening on ws://127.0.0.1:24163/bffa51bd-74bd-4257-8174-2c8ab3768e17
For help see https://nodejs.org/en/docs/inspector

Я предполагаю, что это эквивалентно выполнению команды "node app.js". В инструкции сказано, что мне нужно «выполнить шаги, которые вызовут выполнение кода с точками останова». Полагаю, это означает, что я открываю URL "http://localhost:3000" в браузере, чтобы отправить запрос в Интернет. сервер, который реализует app.js, и я это сделал. Я установил точки останова в каждой строке исходного файла app.js и ожидал, что точки останова должны быть достигнуты где-то в источнике, но браузер сообщил об ошибке «Невозможно подключиться», и в WebStorm ничего не произошло - точка останова не сработала. . Я проверил инструкции, но не могу понять, что мне не хватает. Не могли бы вы помочь мне с этой проблемой? Если вам нужна дополнительная информация, дайте мне знать. Большое спасибо!

PS: app.js находится в папке ... \ test.

== Изменить: ==

PS2: браузер может печатать «Hello world» только потому, что «node app.js» все еще работает. После того, как я его прервал, браузер сообщает «Невозможно подключиться». Это означает, что URL-адрес не знает, как подключиться к веб-серверу, запущенному отладчиком WebStorm. Неправильный порт?

PS3: это то, что возвращает http://localhost:31496/json/list (номер порта изменения в каждом сеансе отладки). Надеюсь, это поможет в устранении неполадок.

description "node.js instance"
devtoolsFrontendUrl "chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:31496/0f03cac0-648f-4c13-9cb9-39bb5e3a81a6"
faviconUrl  "https://nodejs.org/static/favicon.ico"
id  "0f03cac0-648f-4c13-9cb9-39bb5e3a81a6"
title   "app.js"
type    "node"
url "file://E:..._test_app.js"
webSocketDebuggerUrl    "ws://127.0.0.1:31496/0f03cac0-648f-4c13-9cb9-39bb5e3a81a6"

person user5280911    schedule 16.12.2017    source источник
comment
Попробуйте удалить --inspect из параметров узла и повторите попытку   -  person Muthukumar    schedule 16.12.2017
comment
@Muthukumar: я получил сообщение об ошибке: (узел: 7488) [DEP0062] DeprecationWarning: node --debug и node --debug-brk недействительны. Пожалуйста, используйте вместо этого node --inspect или node --inspect-brk.   -  person user5280911    schedule 16.12.2017
comment
Что такое версия ur node.? Ваша версия веб-страницы выглядит устаревшей. Возможно, обновление может исправить проблему с ур.   -  person Muthukumar    schedule 16.12.2017
comment
@Muthukumar: версия узла: v8.9.1   -  person user5280911    schedule 16.12.2017


Ответы (1)


Насколько я понимаю, вы используете webStorm 10. Он довольно старый и не поддерживает новый протокол отладчика, представленный в последних обновлениях Node.js.

Понизьте версию Node.js до версии 4.x (как минимум) или, что лучше, обновите Webstorm до версии 2017.3

person lena    schedule 17.12.2017
comment
Спасибо! Это и есть ключ. - person user5280911; 17.12.2017