логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Node.js 22: Новые возможности ES модулей, WebSocket-клиента и повышение производительности

Картинка поста Node.js 22: Новые возможности ES модулей, WebSocket-клиента и повышение производительности

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

Ключевые особенности:

  1. Обновление V8 до версии 12.4: Новый движок JavaScript V8 версии 12.4 предоставляет множество новых возможностей, включая улучшенное управление сборкой мусора WebAssembly, асинхронный метод Array.fromAsync, а также новые методы для коллекций Set и вспомогательные итераторы. Эти обновления улучшают производительность и расширяют возможности по работе с массивами и коллекциями.
  2. Компилятор Maglev: Этот компилятор теперь включен по умолчанию на поддерживаемых архитектурах. Он повышает производительность краткосрочных командных программ CLI.
  3. Поддержка require() для синхронных графов ESM: Теперь появилась экспериментальная возможность загружать модули ES с использованием require(), если они полностью синхронны и имеют явную маркировку в виде поля "type": "module" или расширения .mjs. Для этого используется флаг -experimental-require-module.
  4. Выполнение скриптов package.json: В версии 22 добавлена экспериментальная функция выполнения скриптов из package.json. Она позволяет использовать CLI-флаг node --run <script-in-package-json> для запуска определенных скриптов напрямую. Например, node --run test выполнит команду test, прописанную в package.json.
  5. Повышение High Water Mark для потоков: По умолчанию это значение увеличено с 16КБ до 64КБ, что приводит к общему повышению производительности потоков, хотя и требует немного больше памяти. Разработчикам рекомендуется задавать свой уровень High Water Mark, если они ограничены в памяти.
  6. Режим наблюдения (node --watch): Режим наблюдения теперь считается стабильным. Он отслеживает изменения в файлах и автоматически перезапускает процесс Node.js.
  7. Поддержка WebSocket: Теперь поддержка WebSocket включена по умолчанию, предлагая браузер-совместимую реализацию WebSocket-клиента непосредственно в Node.js.
  8. Функции glob и globSync: Функции для сопоставления шаблонов путей glob и globSync теперь встроены в модуль node:fs, что позволяет легко искать файлы по шаблонам.
  9. Улучшение производительности создания AbortSignal: Повышена эффективность создания экземпляров AbortSignal, что значительно ускоряет выполнение операций fetch и тестов.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile

Комментарии

0

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile