Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
När du utvecklar JavaScript-program för Azure är det viktigt att anpassa versionerna av Node.js i din lokala utvecklingsmiljö och värdkörningsmiljö. Den här versionsjusteringen säkerställer kompatibilitet, minskar sannolikheten för körningsfel och använder de fullständiga funktionerna i Azure-plattformen. I den här artikeln får du lära dig hur du väljer lämplig Node.js version för dina Azure-värdbaserade program och tjänster.
Node.js versioner
Node.js följer ett förutsägbart lanseringsschema som innehåller både långsiktig support (LTS) och aktuella versioner. LTS-versioner är avsedda för långsiktigt underhåll och stabilitet, vilket gör dem idealiska för produktionsmiljöer. Dessa versioner får kritiska felkorrigeringar, säkerhetsuppdateringar och prestandaförbättringar under en längre period, vanligtvis 30 månader. Node.js använder ett jämnt/udda numreringssystem för att skilja mellan LTS- och Current-versioner: jämna versioner (t.ex. 18, 20) är LTS-versioner, medan udda numrerade versioner (t.ex. 19, 21) är aktuella versioner. Aktuella versioner innehåller de senaste funktionerna och förbättringarna men stöds bara i sex månader, varefter de övergår till en LTS-version om de är jämnt numrerade.
Du bör inte använda "Current releases" i produktion eftersom sexmånadersperioden kan bli feljusterad med Azure-värdplattformens runtime-miljöer och SDK:er. Du kommer att märka att -utvecklingscontainrar för Node.js inte erbjuder versioner som är udda eller aktuella.
Förutsättningar
Alla Azure SDKS- och värdtjänster använder LTS-versioner av Node.js. Om programkoden har körts i en tidigare version av Node.js, som inte längre är tillgänglig för långsiktig support (LTS), bör du uppdatera programkällans kod så att den körs i en LTS-körning.
Du bör också veta vilken värdtjänst du tänker distribuera till och alla Azure-tjänster som ditt distribuerade program använder.
Kompatibilitet mellan miljöer
När du vet vilka Azure-tjänster och SDK:er som programmet använder kontrollerar du att alla miljöer för programmet kan skapa och köra samma version av Node.js:
- lokal utvecklingsmiljö eller utvecklingscontainer
- CI/CD-processmiljö
- Applikationsvärdkörning
- Azure SDK:er
En förklaring av problem som rör användning av olika versioner i din miljö finns i Kompatibilitetsproblem.
Värdtjänster
När du använder Azure-värdtjänster kan du antingen välja att distribuera en container till värden eller välja en Node.js-version som körmiljö för värden. I båda fallen måste du justera versionen av körningen, programkoden och beroendena, till exempel Azure SDK:er.
Använd följande tabell för att hitta körningsinformation:
Service
Versionsinformation
För Linux-miljöer. Du kan också köra följande Azure CLI-kommando för att se alla versioner som stöds.
az webapp list-runtimes | grep node
Nya projekt bör använda den senaste programmeringsmodellen.
Det finns två olika körtider att tänka på: klientdelen och API:et om du är värd för API:et i Static Web Apps-miljön.
SWA CLI tillhandahåller utvecklingsmiljöfunktioner som proxy, autentisering och andra konfigurationer.
Azure SDK:er
Azure SDK:er kräver Node.js LTS-versioner enligt supportprincip. Det kan finnas en kort period när LTS-versionerna som stöds av värdmiljön och SDK:erna inte matchar, eftersom det tar tid att verifiera nya Node.js LTS-versioner. Eftersom det vanligtvis finns tre versioner av Node.js markerade som långsiktiga supportversioner kan du vanligtvis rikta in dig på mellanversionen. Med det här målet kan du testa och kontrollera att programmet kan gå över till nästa LTS-version.
Hantera flera versioner av Node.js
När du behöver hantera mer än en version av Node.js i dina lokala miljöer och fjärrmiljöer rekommenderar vi:
- Development Containers: Använd en container med en specifik Node.js version. Du kan hantera versionen av Node.js i flera miljöer med hjälp av containrar. Visual Studio Code-tillägget Remote - Containers förenklar den här processen.
- NVM (Node Version Manager): Ett kommandoradsgränssnitt för att ange eller växla din lokala version av Node.js.
Ladda ned och installera Node.js baserat på din avsedda användning
Du kan ladda ned och installera Node.js baserat på dina krav.
Kompatibilitetsproblem
Här följer några vanliga kategorier av kompatibilitetsproblem som kan uppstå när Node.js versioner inte matchar mellan miljöer:
Säkerhetsrisker: Om du använder en inaktuell version med kända säkerhetsrisker kan programmet utsättas för säkerhetsrisker.
Syntaxfel: Program som använder den senaste JavaScript-syntaxen, som inte stöds av äldre Node.js versioner, kan orsaka syntaxfel. Dessa fel hindrar programmet från att köras.
Inaktuella API:er: API:er som är inaktuella i nyare Node.js versioner kan fortfarande finnas i äldre versioner, vilket leder till oväntat beteende eller körningsfel om versionerna inte är justerade.
Prestandaförsämring: Nyare Node.js versioner innehåller ofta prestandaförbättringar. Om du kör programmet på en äldre version kan det leda till långsammare körningstider och lägre prestanda.
Inkonsekvent beteende: Skillnader i hur Node.js versioner hanterar vissa åtgärder, till exempel bufferthantering, händelseloopbeteende eller modulmatchning, kan leda till inkonsekvent beteende i olika miljöer.
beroendekonflikter: Node.js moduler eller paket som är kompatibla med en version av Node.js kanske inte är kompatibla med en annan, vilket orsakar beroendekonflikter och körningsfel.
Build Failures: CI/CD-pipelines med en annan Node.js version än den lokala utvecklingsmiljön kan leda till byggfel, vilket orsakar fördröjningar i utvecklings- och lanseringsprocessen.
Genom att se till att alla miljöer använder samma version av Node.jskan du åtgärda dessa kompatibilitetsproblem och säkerställa en smidigare utveckling och distributionsprocess.