В октябре 2022 года Node.js выпустила свою 19-ю версию. Это произошло через шесть месяцев после выпуска Node.js v.18, в котором были представлены значительные обновления, такие как встроенный модуль запуска тестов.
Примечательной особенностью Node.js 19 является новый экспериментальный режим просмотра. Это позволяет вам вносить изменения в ваш сервер, не перезагружая его.
До Node.js 19 режим просмотра был возможен только при использовании сторонних библиотек. Узнайте, как использовать режим просмотра, и изучите другие обновления Node.js в версии 19.
Новый режим наблюдения Node
Node.js 19 представляет экспериментальный --смотреть флаг, который перезапускает сервер Node.js при обнаружении изменений в указанном файле. Раньше вы могли сделать это, используя стороннюю библиотеку под названием нодмон, но обновление устраняет необходимость в зависимости, добавляя ее функциональность в Node.js.
Чтобы перезапустить сервер Node.js с помощью --смотреть флаг, запустить узел команда с --смотреть флаг, за которым следует имя файла, который вы хотите перезапустить, когда Node обнаружит изменения.
Например, рассмотрите этот блок кода как сервер.js файл:
// сервер.js
константа экспресс = требовать("выражать");
константа приложение = экспресс();
константа ПОРТ = 6060;
app.listen (ПОРТ, () => консоль.бревно(`Приложение прослушивает порт: ${ПОРТ}`));
Чтобы следить за изменениями в этом файле и перезапускать сервер, когда они происходят, выполните эту команду на своем терминале:
узел --наблюдать за сервером
Команда будет следить за вашим файлом server.js и перезапускать сервер Node.js, когда обнаружит изменения, внесенные в файл.
Стоит отметить, что эта функция все еще является экспериментальной, что означает, что у вас могут возникнуть проблемы при использовании --смотреть флаг, чтобы перезапустить сервер.
Другие обновления и исправления
Другие улучшения и исправления, появившиеся в Node.js 19, включают следующее.
HTTP Keep-Alive по умолчанию
http/https модуль держать в живых Параметр определяет, следует ли сохранять соединение с сервером после завершения запроса. Изначально нужно было установить держать в живых возможность истинный вручную. Этот параметр указывает серверу держать соединение открытым и повторно использовать его для последующих запросов.
В Node.js 19 держать в живых опция по умолчанию имеет значение true. Это дополнение значительно сократит накладные расходы на установление новых соединений.
Стабилизация WebCrypto API
WebCrypto API — это реализация Node.js стандарт API веб-криптографии. В Node.js 19 реализация WebCrypto стала стабильной, за исключением Эд25519, Эд448, X25519, и Х448 алгоритмы.
Вы можете получить доступ к этому API, используя глобальныйЭто модуль или узел: префикс, который Представлен Node.js 18 чтобы отличать основные модули Node.js от сторонних библиотек.
Например:
// узел: префикс
константа крипто = требовать("узел: крипто");
// глобально это
константа webcrypt = globalThis.crypto;
Пользовательские настройки разрешения ESM
Node.js 19 удаляет ранее экспериментальный --experimental-спецификатор-разрешение флаг. Это обеспечило экспериментальную поддержку поиска файлов с использованием спецификаторов пакетов, подобно тому, как ECMAScript импортирует модули.
Node.js удалил этот флаг, потому что вы можете воспроизвести их функциональность с помощью пользовательских загрузчиков. Вы можете использовать пользовательские загрузчики для поддержки большего количества форматов модулей или для дальнейшей обработки модулей перед загрузкой, поскольку они позволяют вам предоставить свою уникальную логику для загрузки и обработки модулей.
Удаление поддержки DTrace/SystemTap/ETW
DTrace, SystemTap и ETW (отслеживание событий для Windows) — это модули, обеспечивающие динамическую трассировку и анализ запущенных программ. Первоначально в Node.js вы могли использовать их для сбора данных об активности приложения, включая индикаторы производительности, ошибки и другие возможные события во время выполнения.
В Node.js 19 Node.js убрал поддержку DTrace, SystemTap и ETW, потому что сложность, связанная с поддержкой и поддержанием этих модулей в актуальном состоянии, еще не окупилась. Таким образом, чтобы расставить приоритеты в своих ресурсах, они отказались от их поддержки.
Обновление до Node.js 19
Node.js 19 представляет различные функции и улучшения, которые стоит рассмотреть для вашего приложения, в том числе новый режим просмотра, среди прочего, описанный выше. Чтобы перейти на Node.js 19, перейдите на официальный сайт и загрузите текущую версию.