Pakketten toevoegen aan het Node.js-project

Voltooid

Node.js heeft ingebouwde pakketten voor taken zoals bestandsbeheer en HTTP-verwerking. Maar er is ook een grote reeks pakketten van derden die worden aangeboden in het NPM-register.

Wanneer en hoe u een npm-pakket selecteert

Als nieuwe ontwikkelaar bij Tailwind Traders moet u functionaliteit toevoegen aan een project. U kunt de code zelf schrijven, maar u besluit een bestaand pakket te gebruiken. Deze ontwikkelingsbeslissing is een veelvoorkomend scenario.

Wanneer moet u een bestaand pakket gebruiken? Hier volgen enkele factoren die u moet overwegen:

  • Kwaliteit: Voor taken als beveiliging zorgt het gebruik van goed ingestelde pakketten ervoor dat u de best practices volgt en edge-aanvragen afhandelt.
  • Efficiëntie: het schrijven van uw eigen code kost tijd. Door bestaande pakketten te gebruiken, kunt u veel moeite besparen.
  • Onderhoud: bibliotheken hebben updates en oplossingen voor fouten nodig. Het is vaak efficiënter om een opensource-team dit te laten afhandelen.

Ontwikkelaars kunnen pakketten vinden en downloaden uit verschillende bronnen, zoals:

  • Registers: registers zijn verzamelingen pakketten, zoals het npm-register. U kunt ook uw eigen register hosten.
  • Opslagplaatsen: U kunt pakketten rechtstreeks vanuit een GitHub-URL installeren.
  • Bestanden: Pakketten kunnen worden geïnstalleerd vanuit een lokale map of een zip-bestand, handig voor het testen van uw eigen pakketten.
  • Mappen: U kunt ook rechtstreeks vanuit een map installeren.

Nadat u een pakket hebt geselecteerd, controleert u de bijbehorende afhankelijkheden om rekening te houden met de volgende factoren:

  • Grootte: Meer afhankelijkheden betekenen een grotere footprint. Footprintgrootte is van belang als u bandbreedte- of hardwarebeperkingen hebt. Vergeet niet dat het installeren van een pakket ook de bijbehorende afhankelijkheden installeert. Dit kan leiden tot een grote node_modules map.
  • Populariteit: de populariteit van een pakket kan aangeven wat de kwaliteit is.
  • Licentieverlening: Als u van plan bent om uw software te verkopen, moet u ervoor zorgen dat alle licenties voor afhankelijkheidspakketten opnieuw kunnen worden gebruikt en opnieuw kunnen worden verkocht.
  • Actief onderhoud: vermijd afhankelijkheden die zijn afgeschaft of zelden worden bijgewerkt.

Ga naar de pakketpagina op NPM en de GitHub-opslagplaats voor meer informatie over een pakket. U kunt ook de npm-opdracht gebruiken: npm view <package name>.

Een pakket installeren

Als u een pakket wilt installeren, gebruikt u de NPM CLI die is geïnstalleerd met Node.js. U kunt een pakket toevoegen aan uw Node.js-project met de npm install opdracht in de terminal.

npm install <name of package>

Wanneer u de install opdracht uitvoert, maakt het opdrachtregelprogramma verbinding met een globaal register, haalt de code op en plaatst deze in een node_modules map in de hoofdmap van uw project.

Enkele veelvoorkomende switches voor de installatieopdracht zijn:

  • Gebruik voor pakketten die alleen voor ontwikkeling zijn bedoeld --save-dev. Deze switch slaat op in de devDependencies eigenschap van package.json. Deze afhankelijkheden zijn meestal indeling, lint, build, transpile en testhulpprogramma's.
  • Gebruik --productionvoor alleen-productiepakketten . Deze switch sluit alleen ontwikkelingspakketten uit.
  • Voor wereldwijd beschikbare hulpprogramma's gebruikt u -g. Opdrachtregelprogramma's worden vaak globaal geïnstalleerd in plaats van geïmporteerd in projecten. Globale afhankelijkheden worden geïnstalleerd in een systeembrede map, niet op proejct-niveau node_modules. Globale pakketten kunnen uw systeem echter onoverzichtelijk maken. De npx opdracht lost dit op door tijdelijk pakketten te installeren. Gebruik npx <name> dit om een pakket op te halen, uit te voeren en vervolgens te verwijderen.

Na de installatie ziet uw projectmap eruit als in het volgende voorbeeld:

package.json
node_modules/
  <name of dependency>/
    <files included in the dependency>
src
  index.js

NPM CLI-opdrachten

Het npm-opdrachtregelprogramma bevat vrij veel opdrachten om u te helpen bij taken zoals het installeren van pakketten, het ontwerpen van pakketten en het initialiseren van Node.js-projecten.

NPM-opdrachten worden onderverdeeld in categorieën:

  • Afhankelijkheden beheren: opdrachten voor het installeren, bijwerken en verwijderen van pakketten.
  • Scripts uitvoeren: opdrachten voor het beheren van ontwikkelingsstromen, zoals het testen en bouwen van code.
  • Omgeving configureren: opdrachten voor het instellen van installatiepaden en pakketbronnen.
  • Pakketten ontwerpen en publiceren: opdrachten voor het maken en publiceren van pakketten.

Als u een gedetailleerde lijst met alle opdrachten wilt, voert u de volgende opdracht in de terminal in:

npm --help

Installatie verifiëren

Als u wilt zien wat er in uw package.json map staat, gebruikt u npm list. De npm list opdracht bevat alle pakketten in de node_modules map die zijn geïnstalleerd. Elk geïnstalleerd pakket heeft alle eigen afhankelijkheden geïnstalleerd.

Omdat de list opdracht kan resulteren in een lange lijst, waardoor het moeilijk te begrijpen is, kunt u pakketten op verschillende diepten weergeven met de lijstopdracht. Op diepte 0 geeft de opdracht dezelfde inhoud weer als in het gedeelte dependencies van uw package.json.

npm list --depth=<depth>

Als u het Jest-pakket hebt geïnstalleerd, npm list --depth=0 wordt uitvoer geproduceerd die vergelijkbaar is met deze uitvoer:

├── jest@26.0.1

Afhankelijkheden opschonen

Als u een pakket niet meer nodig hebt, verwijdert u het. Als u een afhankelijkheid verwijdert, blijft uw project schoon en bespaart u ruimte. Deze opschoning is vooral belangrijk voor SPA's (Single Page Applications), zoals Angular, React of Vue. Deze apps bundelen en comprimeren code in een bestand dat wordt geleverd aan de browser. Hoe groter het bestand, hoe langer het duurt om te laden, waardoor gebruikers kunnen worden afgeslagen.

Er zijn twee manieren om afhankelijkheden op te schonen die u niet meer nodig hebt:

  • Verwijderen: Als u een pakket wilt verwijderen, voert u de npm uninstall <name of dependency>opdracht . Met deze opdracht wordt het pakket uit het package.json manifestbestand en uit de map node_modules verwijderd.
  • Prune: Gebruik npm prune deze optie om alle niet-vermelde afhankelijkheden uit node_moduleste verwijderen. Verwijderen is handig als u meerdere afhankelijkheden wilt verwijderen zonder voor elk van deze afhankelijkheden te verwijderen. Om te snoeien:
    1. Verwijder de vermeldingen uit afhankelijkheden of devDependencies in package.json.
    2. run npm prune.