Sdílet prostřednictvím


Volba správné verze Node.js pro Azure

Při vývoji javascriptových aplikací pro Azure je důležité sladit verze Node.js v místním vývojovém prostředí a hostitelském prostředí runtime. Toto zarovnání verzí zajišťuje kompatibilitu, snižuje pravděpodobnost chyb za běhu a využívá úplné funkce platformy Azure. V tomto článku se dozvíte, jak vybrat příslušnou verzi Node.js pro aplikace a služby hostované v Azure.

verze Node.js

Node.js se řídí předvídatelným plánem vydávání verzí, který zahrnuje dlouhodobě podporované verze (LTS) a aktuální vydání. Verze LTS jsou určené pro dlouhodobou údržbu a stabilitu, což je ideální pro produkční prostředí. Tyto verze dostávají důležité opravy chyb, aktualizace zabezpečení a vylepšení výkonu po delší dobu, obvykle 30 měsíců. Node.js používá systém sudého a lichého číslování pro rozlišení mezi LTS a aktuálními verzemi: sudé verze (např. 18, 20) jsou LTS, zatímco liché verze (např. 19, 21) jsou aktuální. Aktuální verze zahrnují nejnovější funkce a vylepšení, ale jsou podporovány jen šest měsíců; poté přecházejí na verzi LTS, pokud mají sudé číslo.

V produkčním prostředí byste neměli používat aktuální vydání, protože šestiměsíční interval může nesouhlasit s runtimy a sadami SDK pro Azure. Všimněte si, že vývojové kontejnery pro Node.js nenabízí liché nebo aktuální verze.

Požadavky

Všechny sady Azure SDK a hostitelské služby používají LTS verze Node.js. Pokud je kód aplikace spuštěný v předchozí verzi Node.js, již není k dispozici pro dlouhodobou podporu (LTS), měli byste aktualizovat zdrojový kód aplikace tak, aby běžel v modulu runtime LTS.

Měli byste také vědět, která hostitelská služba chcete nasadit do nasazené aplikace a do všech služeb Azure, které vaše nasazená aplikace používá.

Kompatibilita mezi prostředími

Jakmile víte, které služby a sady SDK Azure vaše aplikace používá, ujistěte se, že všechna prostředí aplikace můžou sestavovat a spouštět stejnou verzi Node.js:

  • místní vývojové prostředí nebo vývojový kontejner
  • Prostředí procesu CI/CD
  • Modul runtime hostitele aplikace
  • Azure SDK

Vysvětlení problémů souvisejících s používáním různých verzí ve vašem prostředí najdete v tématu Problémy s kompatibilitou.

Hostitelské služby

Při použití hostitelských služeb Azure můžete vybrat, jestli chcete nasadit kontejner na hostitelskou službu, nebo vybrat verzi Node.js jako runtime pro hostitelskou službu. V obou případech je potřeba zarovnat verzi modulu runtime, kód aplikace a závislosti, jako jsou sady Sdk Azure.

Informace o modulu runtime najdete pomocí následující tabulky:

Služba

Informace o verzi

Pro běhová prostředí Linuxu. Můžete také spustit následující příkaz Azure CLI a zobrazit všechny podporované verze.

az webapp list-runtimes | grep node

Nové projekty by měly používat nejnovější programovací model.

Existují dva různé moduly runtime, které je potřeba vzít v úvahu: front-end a rozhraní API, pokud hostujete rozhraní API ve Static Web Apps.

rozhraní příkazového řádku SWA

Rozhraní příkazového řádku SWA poskytuje funkce vývojového prostředí, včetně proxy serveru, ověřování a dalších konfigurací.

Sady Azure SDK

SDK pro Azure vyžadují verze Node.js LTS, jak je uvedeno v zásadách podpory . Může existovat krátké časové období, kdy se verze LTS podporované hostitelským prostředím a sady SDK neshodují, protože ověření nových verzí LTS Node.js chvíli trvá. Vzhledem k tomu, že existují obvykle tři verze Node.js označené jako verze dlouhodobé podpory, můžete obvykle cílit na střední verzi. Tento cíl vám umožní nějakou dobu otestovat a ověřit, že se vaše aplikace může přesunout na další verzi LTS.

Správa více verzí Node.js

Pokud potřebujete spravovat více než jednu verzi Node.js v místním a vzdáleném prostředí, doporučujeme:

  • Development Containers: Použijte kontejner se specifickou verzí Node.js. Pomocí kontejnerů můžete spravovat verzi Node.js napříč několika prostředími. Rozšíření editoru Visual Studio Code Remote – Containers tento proces zjednodušuje.
  • NVM (Node Version Manager): Rozhraní příkazového řádku pro nastavení nebo změnu vaší místní verze Node.js.

Stáhněte a nainstalujte Node.js podle zamýšleného použití

Na základě vašich požadavků si můžete stáhnout a nainstalovat Node.js.

Problémy s kompatibilitou

Tady je několik běžných kategorií problémů s kompatibilitou, ke kterým může dojít, když se Node.js verze neshodují mezi prostředími:

  • ohrožení zabezpečení: Použití zastaralé verze se známými ohroženími zabezpečení může vaši aplikaci vystavit rizikům zabezpečení.

  • chyby syntaxe: Aplikace, které používají nejnovější syntaxi JavaScriptu, kterou starší verze Node.js nepodporují, můžou způsobit chyby syntaxe. Tyto chyby brání spuštění aplikace.

  • zastaralé rozhraní API: Rozhraní API, která jsou v novějších verzích Node.js zastaralá, můžou být stále ve starších verzích, což vede k neočekávaným chybám chování nebo chybám za běhu, pokud nejsou verze zarovnané.

  • snížení výkonu: Novější verze Node.js často zahrnují vylepšení výkonu. Spuštění aplikace ve starší verzi může mít za následek pomalejší spouštění a snížení výkonu.

  • nekonzistentní chování: Rozdíly v tom, jak Node.js verze zpracovávají určité operace, jako je zpracování vyrovnávací paměti, chování smyčky událostí nebo řešení modulů, můžou vést k nekonzistentnímu chování v různých prostředích.

  • Konflikty závislostí: Node.js moduly nebo balíčky kompatibilní s jednou verzí Node.js nemusí být kompatibilní s jinou, což způsobuje konflikty závislostí a běhové chyby.

  • selhání sestavení: Kanály CI/CD používající jinou verzi Node.js než místní vývojové prostředí můžou vést k selháním sestavení, což způsobuje zpoždění procesu vývoje a vydávání.

Tím, že zajistíte, aby všechna prostředí používala stejnou verzi Node.js, můžete tyto problémy s kompatibilitou zmírnit a zajistit plynulejší proces vývoje a nasazení.