Node.js 20.0 is al uitgebracht en dit is het nieuws

Knooppunt-js

Node.js is een platformonafhankelijke, open source runtime-omgeving op de serverlaag, gebaseerd op de JavaScript-programmeertaal, asynchroon, met gegevens-I/O in een gebeurtenisgestuurde architectuur en gebaseerd op de V8 Node.js-engine.

De release van de nieuwe versie van Node.js 20.0, wat een raamwerk is voor het uitvoeren van netwerktoepassingen in JavaScript. Deze nieuwe release van Node.js 20.0 is toegewezen aan de lange ondersteuningstak, maar deze status wordt pas in oktober toegewezen, na stabilisatie.

Voor degenen onder u die nieuw zijn op het Node.js-platform, moet u weten dat het zowel kan worden gebruikt voor het onderhouden van webtoepassingsservers als voor het maken van reguliere client- en servernetwerkprogramma's.

Om de functionaliteit van applicaties voor Node.js uit te breiden, is een grote verzameling modules voorbereid, waarin u modules kunt vinden met de implementatie van servers en clients.

Belangrijkste nieuwe functies van Node.js 20.0

In deze nieuwe release van Node.js 20.0 is de V8-engine geüpdatet naar versie 11.3 die wordt gebruikt in Chromium 113, die verschillende wijzigingen bevat ten opzichte van de tak die de Chromium 107-engine gebruikte, functies String.prototype.isWellFormed en toWellFormed, Array.prototype en TypedArray.prototype zij hebben methoden voor het werken met kopiëren op change Array- en TypedArray-objecten, v-vlag in RegExp, ondersteuning voor het wijzigen van de grootte van de ArrayBuffer en het vergroten van de grootte van de SharedArrayBuffer, laatste oproep in WebAssembly.

Een andere verandering die opvalt in de nieuwe versie is dat er is een experimenteel toestemmingsmodelmechanisme voorgesteld dat stelt u in staat de toegang tot bepaalde bronnen tijdens de uitvoering te beperken. Ondersteuning voor het machtigingenmodel wordt ingeschakeld door de vlag "--experimentele toestemming" als je rent.

Daarnaast wordt in Node.js 20.0 benadrukt dat stuurprogramma's voor ECMAScript-modules Extern (ESM) opgeladen via optie "–experimentele lader" draait nu op een aparte thread, geïsoleerd van de hoofdthread, waardoor de kruising van de applicatiecode en de geladen ESM-modules wordt geëlimineerd. Net als bij browsers, wordt de methode import.meta.resolve() nu synchroon uitgevoerd wanneer deze wordt aangeroepen vanuit een toepassing. In een van de aankomende Node.js-takken is het de bedoeling dat ESM-belastingondersteuning wordt verplaatst naar de categorie stabiele functies.

Dat wordt ook benadrukt er is een prestatieteam gevormd scheiden dan, ter voorbereiding op de nieuwe vestiging, terwijl het werkte om verschillende runtime-componenten te versnellen, waaronder URL-parsing, fetch() en EventTarget. Zo is de initialisatieoverhead van EventTarget gehalveerd, zijn de prestaties van de methode URL.canParse() aanzienlijk verbeterd en is de efficiëntie van timers verbeterd. Daarnaast bevat het pakket de release van een krachtige URL-parser: Ada 2.0, geschreven in C++.

Aan de andere kant wordt dat benadrukt ontwikkeling van een experimentele functie is voortgezet om applicaties te leveren in de vorm van een enkel uitvoerbaar bestand (SEA, enkele uitvoerbare toepassingen). Voor het maken van een uitvoerbaar bestand moet nu een blob worden vervangen die is gegenereerd op basis van een JSON-configuratiebestand (in plaats van een JavaScript-bestand te vervangen).

Van de andere veranderingen die zich onderscheiden van de nieuwe versie:

  • Bij de initiële implementatie werden opties voorgesteld om schrijf- (–allow-fs-write) en lees- (–allow-fs-read) toegang tot bepaalde delen van de FS, kindprocessen (–allow-child-proces), toevoegingen ( - -no-addons) en threads (–allow-worker).
  • De module node:test (test_runner), ontworpen om JavaScript-tests te maken en uit te voeren die resultaten retourneren in de indeling Test Anything Protocol (TAP), is verplaatst naar stable .

    Verbeterde compatibiliteit van de Web Crypto API met implementaties van andere projecten.
    Officiële ondersteuning toegevoegd voor Windows op ARM64-systemen.

  • Doorlopende ondersteuning voor WebAssembly System Interface (WASI)-extensies voor het bouwen van stand-alone WebAssembly-applicaties. De noodzaak verwijderd om een ​​speciale opdrachtregelvlag op te geven om WASI-ondersteuning in te schakelen.

Eindelijk sAls je er meer over wilt weten, kunt u de details inchecken de volgende link.

Node.js 20.x wordt ondersteund tot 30 april 2026. Node.js oudere LTS 18.x branch wordt ondersteund tot april 2025 en oudere LTS 16.x branch tot september 2023.

Hoe installeer ik Node.JS op Linux?

Voor degenen die geïnteresseerd zijn om deze nieuwe versie van Node.JS te kunnen installeren, moeten ze weten dat het proces vrij eenvoudig is, gewoon Ze moeten een terminal in het systeem openen en daarin gaan ze een van de volgende opdrachten typen, afhankelijk van je distro.

In het geval van degenen die D-gebruikers zijnebian, Ubuntu en derivaten, ze hoeven alleen het volgende te typen:

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install npm

Terwijl voor degenen die gebruikers zijn van Arch Linux, Manjaro, Arco Linux of een andere afgeleide van Arch:

sudo pacman -S nodejs npm

Voor degenen die gebruiken Fedora, RHEL, Centos en derivaten:

sudo dnf -i nodejs npm

Ten slotte is een andere methode om Node.js te installeren afkomstig uit de Snap-pakketten en hiervoor is het voldoende om de volgende opdracht uit te voeren:

sudo snap install node --classic