Afhængigheder gør effektiv genbrug af kode mulig. Sørg for, at du ved, hvordan du administrerer dem i dine Node-projekter.
En afhængighed er et stykke kode – et bibliotek, et modul eller en pakke – som et projekt kræver for at fungere korrekt.
I Node.js er afhængigheder og devDependencies kategorier af pakker, du kan definere i din package.json-fil for at administrere dit projekts afhængigheder. Udforsk deres forskelle og lær, hvordan du bruger dem i dine projekter.
Regelmæssige afhængigheder i et npm-projekt
Almindelige afhængigheder - eller ganske enkelt afhængigheder - er pakker, som din applikation kræver for at fungere efter hensigten under kørsel og i produktionsmiljøer.
Afhængigheder kan omfatte:
- Eksterne biblioteker, der tilbyder forudbygget funktionalitet, såsom lodash.
- Rammer, der giver et fundament eller en struktur til byggeapplikationer, såsom Express eller React.
- Databasedrivere, såsom MongoDB eller sqlite3.
- Pakker, der hjælper med netværksrelaterede opgaver, såsom Axios eller Socket.io.
For eksempel, hvis du bygger en CRUD API med Express.js, udtrykke vil være en af dine afhængigheder, fordi din server har brug for den for at fungere.
For at installere runtime-afhængighederne kan du bruge en pakkehåndtering som npm, Node Package Manager, eller garn.
Afhængigheder findes under afhængighedsobjektet i en package.json-fil. Afhængighedsobjektet gemmer navnene og versionerne af pakkerne.
For at installere en pakke som en afhængighed ved hjælp af NPM skal du køre kommandoen nedenfor:
npm installere
Kommandoen ovenfor installerer pakken og registrerer den som en afhængighed af dit projekt i package.json:
// package.json
"afhængigheder": {
"pakkenavn": "^pakke-version",
}
Når du kloner et projekt fra et webbaseret lager, kan du installere afhængighederne ved at køre kommandoen nedenfor:
npm installere
Når du kører kommandoen ovenfor, læser din pakkeadministrator package.json fil og installerer de angivne afhængigheder og devDependencies fra pakkeregistret.
Udviklingsafhængigheder og hvordan man bruger dem
Udviklingsafhængigheder – eller devDepenendencies – er pakker, som din applikation kun har brug for under udviklingsprocessen. De er med andre ord ikke nødvendige i produktionen.
devDependencies kan omfatte:
- Afprøvning af rammer, såsom Jest eller Mokka.
- Testløbere, såsom Chai.
- Linters og formatere, såsom Eslint.
- Dokumentationsværktøjer, såsom Swagger.
Et almindeligt eksempel på en devDepenedency er Nodemon-pakken, som genstarter din server, når den registrerer ændringer i dine scripts.
Du kan definere devDependencies under afhængigheder genstand i en package.json fil. Dette objekt gemmer navnene og versionerne af pakkerne.
Du kan installere en pakke som en devDependency ved at køre denne kommando:
npm installere --save-dev
Alternativt kan du installere en pakke som en devDependency ved at køre denne kommando:
npm installation -D
Kommandoen ovenfor installerer og registrerer pakken i din package.json fil, som sådan:
// package.json
"devDependencies": {
"pakkenavn": "^pakke-version"
}
Når du kloner et projekt fra et webbaseret lager, kører du npm installere kommandoen vil også installere devDependencies.
Kør dog kommandoen med produktion flag installerer kun afhængighederne.
For eksempel:
npm install --produktion
Når du kører kommandoen ovenfor, læser din pakkeadministrator package.json fil og installerer din applikations afhængigheder fra pakkeregistret.
Alternativt kan du indstille NODE_ENV variabel til "produktion” for at opnå de samme resultater.
Andre typer afhængigheder
Udover afhængigheder og devDependencies, kategoriserer Node.js også pakker som peerDepenecies og valgfri afhængigheder.
Peer-afhængigheder
Peer-afhængigheder er afhængigheder, som en pakke bruger, når den forventer, at en specifik version eller en kompatibel version af en anden pakke er til stede i den applikation, der bruger den.
Formålet med peer-afhængigheder er at sikre, at en pakke fungerer korrekt med sine afhængigheder og undgår konflikter eller kompatibilitetsproblemer.
For npm-versioner mindre end v7 installeres peer-afhængigheder ikke automatisk. I stedet skal koden, der inkluderer pakken, inkludere den som en afhængighed. Hvis pakken ikke inkluderer det, vil npm give en advarsel.
De findes under peerAfhængigheder objekt i filen package.json:
"peerDependencies": {
"pakke": "^version"
}
Valgfri afhængigheder
Valgfrie afhængigheder er pakker, der ikke er essentielle for et projekts kernefunktionalitet, men som kan forbedre dets muligheder, hvis de er tilgængelige.
Da valgfrie afhængigheder ikke er nødvendige for at projektet kan fungere korrekt, kan du udelade dem under installationen.
Hvis du kører kommandoen nedenfor, springes valgfrie afhængigheder over under installationsprocessen:
npm install --omit=valgfrit
De findes under valgfri afhængigheder objekt i filen package.json:
"valgfri afhængigheder": {
"pakke": "^version"
}
Kategorier gør det nemmere at administrere dine afhængigheder
Effektiv forståelse, styring og kategorisering af afhængigheder hjælper med at sikre en klar adskillelse mellem de pakker, der kræves til produktion, og dem, der kun er nødvendige under udvikling.
Denne sondring hjælper med effektiv afhængighedsstyring, korrekt bundling og strømlinet implementering af dit projekt.