Deel dit artikel:
Vergeleken met de drie technologieën verschilt NVM van de andere twee. Node Version Manager (NVM) wordt gebruikt om Node.js-versies te beheren. NPM en Yarn zijn Node.js pakketbeheerders. Ze maken het mogelijk om pakketten te downloaden, te installeren en te beheren bij het ontwikkelen in JavaScript.
Wat is NVM?
Zoals je al weet, is NVM de Node Versie Manager. Hiermee kun je snel en gemakkelijk schakelen tussen verschillende node-versies voor het testen en ontwikkelen van een app.
Waarom NVM gebruiken?
NVM stelt gebruikers in staat om:
- Met één commando kun je lokaal elke remote Long Term Support (LTS) versie van Node.js downloaden.
- Vanaf de commandoregel kun je snel schakelen tussen verschillende Node.js-versies.
- Maak aliassen aan om eenvoudig te wisselen tussen verschillende downloadbare versies van Node.js.
NVM gebruiken
Als NVM is geïnstalleerd, kun je elke versie van Node.js beheren met een eenvoudig commando.
Dit geeft een lijst van alle geïnstalleerde lokale versies van Node:
nvm ls
Om een specifieke versie te installeren, kan dit commando worden gebruikt:
nvm installeer <SPECIFIC_NODE_VERSION>
Om een specifieke versie van Node.js te gebruiken (of te wisselen), gebruik je het volgende commando:
nvm gebruik <SPECIFIC_NODE_VERSION>
NPM vs Garen
Node pakketbeheer (NPM)
NPM is de standaard pakketbeheerder voor Node. Eenvoudige commando's worden ondersteund omdat het een CLI (Command Line Interface) installer is. Het heeft pakketten geschreven in JSON en is open-source en gratis. In een package.json-bestand kunnen de afhankelijkheden van je Node-applicatie worden opgesomd en opgeslagen. Gebruikers kunnen ook pakketten distribueren. Het primaire npm-register heeft meer dan 1,3 miljoen pakketten. Automatisering van het beheer van afhankelijkheden en pakketten is het primaire doel van NPM. Met behulp van een "package.json" bestand kan npm alle afhankelijkheden van een project met één commando installeren wanneer het gebruikt wordt als afhankelijkhedenbeheerder voor een lokaal project.
Garen (Nog een brononderhandelaar)
De meest recente en verbeterde versie van NPM is yarn. Als vervanging voor NPM hebben Facebook, Exponent, Google en Tilde het in 2016 gemaakt. Het is ontworpen om complexe functionaliteit te bieden die NPM miste. Om het gebruik ervan te stabiliseren, heeft NPM een paar cruciale functionaliteiten toegevoegd. Yarn gebruikt dezelfde technieken als NPM, maar het houdt alle installatiegegevens intern bij om compatibiliteit tussen platforms te garanderen. Het is ook veiliger en stabieler dan NPM.
De verschillen
Yarn slaat alle geïnstalleerde pakketten op in de cache. Yarn installeert de pakketten tegelijkertijd en daarom is Yarn sneller dan NPM.
Ze downloaden allebei pakketten van de npm repository. Yarn genereert standaard yarn.lock om de versies van de afhankelijkheden van het pakket te vergrendelen.
Yarn voert op de achtergrond een veiligheidscontrole uit wanneer het pakketten downloadt. Om te voorkomen dat kwaadaardige scripts worden gedownload en afhankelijkheidsproblemen veroorzaken, maakt het gebruik van de licentie-informatie van het pakket. Beveiliging was een grote zorg voor NPM in de eerste versies. Sinds versie 6 voert NPM elke keer dat een pakket wordt geïnstalleerd een beveiligingsaudit uit. Dit zorgt ervoor dat er geen conflicterende afhankelijkheden zijn en helpt kwetsbaarheden te voorkomen.
Er zijn veel fundamentele overeenkomsten tussen Yarn en NPM:
- Automatisch gegenereerde slotbestanden
- Ondersteuning voor het gebruik van Workspaces
- Ondersteuning voor het gebruik van scripts op afstand - npx vs yarn dlx
Recente wijzigingen in NPM en Yarn
Zowel Yarn als NPM worden voortdurend bijgewerkt met bugfixes en nieuwe functies zoals NPX en PnP.
NPX
Node Package Executor, afgekort NPX. Het is een functie die is geïntroduceerd in NPM 5.2.0 en later. NPX vergemakkelijkt het uitvoeren van eenmalige instructies. Dankzij NPX kunnen pakketten die in het NPM-register staan uitgevoerd worden zonder dat ze als afhankelijkheden aan je project worden toegevoegd.
Lees deze handleiding om bekend te raken met NPX.
Garen2 (Bes)
Met de release van Yarn2, ook bekend als Berry, heeft Yarn hun yarn-lijn uitgebreid. Plug'n'Play, Constraints, Offline Installation, Zero-Installation, Workspaces en Yarn Dlx zijn slechts enkele van de geweldige nieuwe functies in deze editie van Yarn (het nieuwe Yarn NPX).
Als je de stappen in deze sectie correct hebt uitgevoerd, zie je een nieuw blok in phpinfo().
Hier zijn de meest opvallende verbeteringen:
Plug'n'Play is een alternatieve installatiemethode. In tegenstelling tot Node.js, dat een node modules directory aanmaakt en de resolutie zelf afhandelt, genereert Plug'n'Play slechts één pnp.js bestand.
- Knooppuntmodules elimineren.
- De installatietijd van pakketten is met maar liefst 70% verkort.
- Als je verzuimt om een afhankelijkheid op te geven, zal Plug'n'Play je een waarschuwing geven.
- Sneller opstarten van lopende projecten.
Als je meer wilt weten over Plug'n'Play, lees dan deze handleiding.
Projectafhankelijkheden kunnen worden beheerd met behulp van constraints, waarmee je algemene regels kunt aangeven in prologue (een declaratieve programmeertaal). Zolang er geen incompatibele afhankelijkheden in je archief zijn, kun je regels opstellen om deze af te dwingen.
Gemoderniseerde Workspaces - je kunt nu een mono repository instellen om de onderlinge afhankelijkheden tussen verschillende projecten te controleren. Hierdoor is het mogelijk dat veel projecten naar elkaar verwijzen. Wijzigingen in een repository werken automatisch de andere repositories bij.
De twee garens, Garen1 en Garen2, zijn heel verschillend. Leer hoe je de overgang maakt van Garen1 naar Garen2 met behulp van deze handige handleiding.
Conclusie
Er zijn grote verschillen tussen NVM, NPM en Yarn.
- Node.JS kan worden ingesteld met NVM.
- NPM is de beste manier om alle pakketten die je nodig hebt te installeren.
- Yarn werkt net als NPM, maar het is sneller en stabieler bij het installeren en noteren.
- afhankelijkheden voor je Node.JS applicatie.
Wat ze gemeen hebben, is dat ze allemaal worden gebruikt door Node-toepassingen.
Bij Bulcode zijn we gewend om zowel met NPM als met Yarn te werken, maar de voorkeur gaat meestal uit naar Yarn.
ABONNEER U OP ONZE NIEUWSBRIEF
Deel dit artikel: