Если вы работали с Node достаточно долго, скорее всего, вам надоело отсутствие в его экосистеме инструментов plug-and-play для сравнительного анализа и профилирования: ну, по крайней мере, для отладки, скажите «нет». более!

Одной из самых недооцененных функций, появившихся в Node за последний год, является расширенная отладка, которая в сочетании с Chrome DevTools делает чрезвычайно простой отладку и профилирование серверного JavaScript: он поставляется с полной поддержкой обычного подозреваемых, таких как точки останова и профили ЦП, и его очень легко настроить — никаких внешних зависимостей, никаких накладных расходов, только Chrome.

Трюк очень прост, так как вам просто нужно запустить скрипты узлов с флагом --inspect!

Скажем, у вас есть HTTP-сервер, работающий на порту 8080:

require('http').createServer((req, res) => {
    console.log('Hello')
    res.write('Oh my ')
    res.end('gosh!')
}).listen(8080)

вам просто нужно запустить его с node --inspect index.js и перейти по URL-адресу, указанному в командной строке, например:

/tmp ᐅ node --inspect index.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
    chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/737e256b-8640-4331-a145-27a119ba43c8

Излишне говорить, что если вы хотите выбрать конкретный порт, вам просто нужно настроить параметр inspect с помощью чего-то вроде --inspect=4000.

Увидимся в следующий раз!

Первоначально опубликовано на odino.org (12 апреля 2017 г.).