Avhengigheter gjør effektiv gjenbruk av kode mulig. Sørg for at du vet hvordan du administrerer dem i Node-prosjektene dine.
En avhengighet er et stykke kode – et bibliotek, en modul eller en pakke – som et prosjekt krever for å fungere korrekt.
I Node.js er avhengigheter og devDependencies kategorier av pakker du kan definere i package.json-filen for å administrere prosjektets avhengigheter. Utforsk forskjellene deres og lær hvordan du bruker dem i prosjektene dine.
Vanlige avhengigheter i et npm-prosjekt
Vanlige avhengigheter – eller rett og slett avhengigheter – er pakker som applikasjonen din krever for å fungere etter hensikten under kjøretid og i produksjonsmiljøer.
Avhengigheter kan omfatte:
- Eksterne biblioteker som tilbyr forhåndsbygd funksjonalitet, for eksempel lodash.
- Rammer som gir grunnlag eller struktur for byggeapplikasjoner, som Express eller React.
- Databasedrivere, for eksempel MongoDB eller sqlite3.
- Pakker som hjelper til med nettverksrelaterte oppgaver, for eksempel Axios eller Socket.io.
Hvis du for eksempel bygger en CRUD API med Express.js, uttrykke vil være en av dine avhengigheter fordi serveren din trenger den for å fungere.
For å installere kjøretidsavhengighetene kan du bruke en pakkebehandling som npm, Node Package Manager, eller garn.
Det finnes avhengigheter under avhengighetsobjektet i en package.json-fil. Avhengighetsobjektet lagrer navn og versjoner av pakkene.
For å installere en pakke som en avhengighet ved hjelp av NPM, kjør kommandoen nedenfor:
npm installere
Kommandoen ovenfor installerer pakken og registrerer den som en avhengighet av prosjektet ditt i package.json:
// package.json
"avhengigheter": {
"pakkenavn": "^pakke-versjon",
}
Når du kloner et prosjekt fra et nettbasert depot, kan du installere avhengighetene ved å kjøre kommandoen nedenfor:
npm installere
Når du kjører kommandoen ovenfor, leser pakkebehandleren package.json fil og installerer de angitte avhengighetene og devDependencies fra pakkeregisteret.
Utviklingsavhengigheter og hvordan du bruker dem
Utviklingsavhengigheter – eller devDepenendencies – er pakker som applikasjonen din trenger kun under utviklingsprosessen. De trengs med andre ord ikke i produksjonen.
devDependencies kan omfatte:
- Testing av rammer, for eksempel Jest eller Mocha.
- Testløpere, som Chai.
- Linters og formattere, som Eslint.
- Dokumentasjonsverktøy, som Swagger.
Et vanlig eksempel på en devDepenedency er Nodemon-pakken, som starter serveren på nytt når den oppdager endringer i skriptene dine.
Du kan definere devDependencies under avhengigheter gjenstand i en package.json fil. Dette objektet lagrer navn og versjoner av pakkene.
Du kan installere en pakke som en devDependency ved å kjøre denne kommandoen:
npm installere --save-dev
Alternativt kan du installere en pakke som en devDependency ved å kjøre denne kommandoen:
npm installer -D
Kommandoen ovenfor installerer og registrerer pakken i din package.json fil, slik:
// package.json
"devDependencies": {
"pakkenavn": "^pakke-versjon"
}
Når du kloner et prosjekt fra et nettbasert depot, kjører du npm installere kommandoen vil også installere devDependencies.
Kjør imidlertid kommandoen med produksjon flagget installerer bare avhengighetene.
For eksempel:
npm install --produksjon
Når du kjører kommandoen ovenfor, leser pakkebehandleren package.json fil og installerer programmets avhengigheter fra pakkeregisteret.
Alternativt kan du stille inn NODE_ENV variabel til "produksjon" for å oppnå de samme resultatene.
Andre typer avhengigheter
Bortsett fra avhengigheter og devDependencies, kategoriserer Node.js også pakker som peerDepenecies og valgfrie avhengigheter.
Peer-avhengigheter
Peer-avhengigheter er avhengigheter som en pakke bruker når den forventer at en spesifikk versjon eller en kompatibel versjon av en annen pakke skal være til stede i applikasjonen som bruker den.
Hensikten med peer-avhengigheter er å sikre at en pakke fungerer riktig med sine avhengigheter og unngår konflikter eller kompatibilitetsproblemer.
For npm-versjoner mindre enn v7, blir ikke peer-avhengigheter automatisk installert. Snarere må koden som inkluderer pakken inkludere den som en avhengighet. Hvis pakken ikke inkluderer det, vil npm sende en advarsel.
De eksisterer under peerDependencies objekt i package.json-filen:
"peerDependencies": {
"pakke": "^versjon"
}
Valgfrie avhengigheter
Valgfrie avhengigheter er pakker som ikke er essensielle for kjernefunksjonaliteten til et prosjekt, men som kan forbedre mulighetene hvis de er tilgjengelige.
Siden valgfrie avhengigheter ikke kreves for at prosjektet skal fungere riktig, kan du utelate dem under installasjonen.
Å kjøre kommandoen nedenfor vil hoppe over valgfrie avhengigheter under installasjonsprosessen:
npm install --utelat=valgfritt
De eksisterer under valgfrie avhengigheter objekt i package.json-filen:
"valgfrie avhengigheter": {
"pakke": "^versjon"
}
Kategorier gjør det enklere å administrere avhengighetene dine
Effektiv forståelse, administrasjon og kategorisering av avhengigheter bidrar til å sikre et klart skille mellom pakkene som kreves for produksjon og de som bare trengs under utvikling.
Denne distinksjonen hjelper deg med effektiv avhengighetsstyring, riktig bunting og strømlinjeformet distribusjon av prosjektet ditt.