Поделиться через


Выберите нужную версию Node.js для Azure

При разработке приложений JavaScript для Azure важно выровнять версии Node.js в локальной среде разработки и среде выполнения узла. Это выравнивание версий обеспечивает совместимость, снижает вероятность ошибок среды выполнения и использует все возможности платформы Azure. В этой статье вы узнаете, как выбрать соответствующую версию Node.js для приложений и служб, размещенных в Azure.

версии Node.js

Node.js следует предсказуемому расписанию выпусков, которое включает как версии с долгосрочной поддержкой (LTS), так и текущие выпуски. Версии LTS предназначены для долгосрочного обслуживания и стабильности, что делает их идеальными для рабочих сред. Эти версии получают критически важные исправления ошибок, обновления системы безопасности и улучшения производительности в течение длительного периода, как правило, 30 месяцев. Node.js использует систему четного нумерирования для различения LTS и Current выпусков: четные версии (например, 18, 20) являются выпусками LTS, а нечетные версии (например, 19, 21) являются текущими выпусками. Текущие выпуски включают последние функции и улучшения, но поддерживаются только в течение шести месяцев, а затем переходят на выпуск LTS, если версия имеет четный номер.

Не следует использовать Текущие версии в рабочей среде, так как шестимесячное окно может не совпадать со средами выполнения и пакетами SDK платформы размещения Azure. Вы заметите, что контейнеры разработки для Node.js не предлагают нечетные или текущие версии.

Необходимые условия

Все Azure SDK и службы размещения используют версии LTS Node.js. Если код приложения запущен в предыдущей версии Node.js, больше недоступен для долгосрочной поддержки (LTS), необходимо обновить исходный код приложения для выполнения в среде выполнения LTS.

Вы также должны знать, в какую службу размещения вы планируете развернуть приложение и какие службы Azure это приложение использует.

Совместимость между средами

После того как вы определили, какие службы Azure и пакеты SDK использует ваше приложение, убедитесь, что все среды для приложения могут создавать и запускать одну и ту же версию Node.js.

  • локальная среда разработки или контейнер разработки
  • Среда разработки и эксплуатации CI/CD
  • Среда выполнения узла приложения
  • Пакеты SDK Для Azure

Описание проблем, связанных с использованием разных версий в среде, см. в разделе проблемы совместимости.

Службы размещения

При использовании служб размещения Azure можно выбрать развертывание контейнера на узле или выбрать версию Node.js в качестве среды выполнения узла. В обоих случаях необходимо согласовать версию среды выполнения, код приложения и зависимости, такие как наборы средств разработки (SDK) Azure.

Чтобы найти сведения о среде выполнения, используйте следующую таблицу:

Сервис

Сведения о версии

Для сред выполнения Linux. Вы также можете выполнить следующую команду Azure CLI, чтобы просмотреть все поддерживаемые версии.

az webapp list-runtimes | grep node

Новые проекты должны использовать самую последнюю модель программирования.

Существует два разных среды выполнения, которые следует учитывать: интерфейс и API, если вы размещаете API в статических веб-приложениях.

Интерфейс командной строки SWA предоставляет функциональные возможности среды разработки, включая прокси-сервер, проверку подлинности и другие конфигурации.

Пакеты SDK Для Azure

Пакеты SDK Azure требуют версии LTS Node.js, как указано в политике поддержки . Существует короткий период, когда версии LTS, поддерживаемые средой размещения, не совпадают с версиями пакетов SDK, поскольку требуется время для проверки новых версий Node.js LTS. Так как обычно существует три версии Node.js помечены как версии долгосрочной поддержки, обычно можно использовать среднюю версию. Этот целевой объект позволяет вам некоторое время протестировать и проверить, что приложение может перейти к следующей версии LTS.

Управление несколькими версиями Node.js

Если вам нужно управлять несколькими версиями Node.js в локальных и удаленных средах, рекомендуется:

Скачайте и установите Node.js в зависимости от предполагаемого использования

Вы можете скачать и установить Node.js на основе ваших требований.

Проблемы совместимости

Ниже приведены некоторые распространенные категории проблем совместимости, которые могут возникать, когда версии Node.js не совпадают в разных средах:

  • уязвимостей безопасности: Использование устаревшей версии с известными уязвимостями безопасности может подвергнуть ваше приложение рискам безопасности.

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

  • Устаревшие API: API, которые устарели в более новых версиях Node.js, могут по-прежнему присутствовать в более старых версиях, что может привести к неожиданному поведению или ошибкам времени выполнения, если версии не согласованы.

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

  • несогласованное поведение. Различия в том, как Node.js версии обрабатывают определенные операции, такие как обработка буферов, поведение цикла событий или разрешение модуля, могут привести к несогласованности поведения в разных средах.

  • Конфликты зависимостей: модули или пакеты Node.js, совместимые с одной версией Node.js, могут быть несовместимы с другой, вызывая конфликты зависимостей и ошибки среды выполнения.

  • сбои сборки: конвейеры CI/CD, использующие другую Node.js версию, чем локальная среда разработки, могут привести к этим сбоям, что вызывает задержки в процессе разработки и выпуска.

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