Beroenden gör effektiv återanvändning av kod möjlig. Se till att du vet hur du hanterar dem i dina Node-projekt.

Ett beroende är en bit kod – ett bibliotek, en modul eller ett paket – som ett projekt kräver för att fungera korrekt.

I Node.js är beroenden och devDependencies kategorier av paket som du kan definiera i filen package.json för att hantera ditt projekts beroenden. Utforska deras skillnader och lär dig hur du använder dem i dina projekt.

Regelbundna beroenden i ett npm-projekt

Vanliga beroenden – eller helt enkelt beroenden – är paket som din applikation kräver för att fungera som avsett under körning och i produktionsmiljöer.

Beroenden kan inkludera:

  • Externa bibliotek som erbjuder förbyggd funktionalitet, till exempel lodash.
  • Ramar som ger en grund eller struktur för byggapplikationer, som Express eller React.
  • Databasdrivrutiner, som MongoDB eller sqlite3.
  • Paket som hjälper till med nätverksrelaterade uppgifter, som Axios eller Socket.io.

Till exempel, om du bygger en CRUD API med Express.js

, uttrycka kommer att vara ett av dina beroenden eftersom din server behöver den för att fungera.

För att installera runtime-beroendena kan du använda en pakethanterare som npm, Node Package Manager, eller garn.

Beroenden finns under dependencies-objektet i en package.json-fil. Beroendeobjektet lagrar paketens namn och versioner.

För att installera ett paket som ett beroende med NPM, kör kommandot nedan:

npm installera 

Kommandot ovan installerar paketet och registrerar det som ett beroende av ditt projekt i package.json:

// package.json

"beroenden": {
"Paketnamn": "^paket-version",
}

När du klona ett projekt från ett webbaserat arkiv kan du installera beroenden genom att köra kommandot nedan:

npm installera

När du kör kommandot ovan läser din pakethanterare package.json fil och installerar de angivna beroenden och devDependencies från paketregistret.

Utvecklingsberoenden och hur man använder dem

Utvecklingsberoenden – eller devDepenendencies – är paket som din applikation bara behöver under utvecklingsprocessen. De behövs med andra ord inte i produktionen.

devDependens kan inkludera:

  • Testa ramar, som Jest eller Mocha.
  • Testlöpare, som Chai.
  • Linters och formatterare, som Eslint.
  • Dokumentationsverktyg, som Swagger.

Ett vanligt exempel på en devDepenedency är paketet Nodemon, som startar om din server när den upptäcker ändringar i dina skript.

Du kan definiera devDependencies under beroenden föremål i en package.json fil. Detta objekt lagrar namn och versioner av paketen.

Du kan installera ett paket som en devDependency genom att köra det här kommandot:

npm installera  --save-dev

Alternativt kan du installera ett paket som en devDependency genom att köra det här kommandot:

npm installera -D 

Kommandot ovan installerar och registrerar paketet i din package.json fil, så här:

// package.json
"devDependencies": {
"Paketnamn": "^paket-version"
}

När du klona ett projekt från ett webbaserat arkiv kör du npm installera kommandot kommer också att installera devDependencies.

Kör dock kommandot med produktion flaggan installerar endast beroenden.

Till exempel:

npm installera --produktion

När du kör kommandot ovan läser din pakethanterare package.json fil och installerar din applikations beroenden från paketregistret.

Alternativt kan du ställa in NODE_ENV variabel till "produktion" för att uppnå samma resultat.

Andra typer av beroenden

Förutom beroenden och devDependencies, kategoriserar Node.js också paket som peerDepenecies och valfria beroenden.

Peer beroenden

Peer-beroenden är beroenden som ett paket använder när det förväntar sig att en specifik version eller en kompatibel version av ett annat paket ska finnas i programmet som använder det.

Syftet med peer-beroenden är att säkerställa att ett paket fungerar korrekt med sina beroenden och undviker konflikter eller kompatibilitetsproblem.

För npm-versioner mindre än v7 installeras inte peer-beroenden automatiskt. Snarare måste koden som innehåller paketet inkludera det som ett beroende. Om paketet inte innehåller det kommer npm att ge en varning.

De finns under peerDependens objekt i filen package.json:

"peerDependencies": {
"paket": "^version"
}

Valfria beroenden

Valfria beroenden är paket som inte är nödvändiga för kärnfunktionaliteten i ett projekt men som kan förbättra dess kapacitet om de är tillgängliga.

Eftersom valfria beroenden inte krävs för att projektet ska fungera korrekt kan du utelämna dem under installationen.

Om du kör kommandot nedan hoppar du över valfria beroenden under installationsprocessen:

npm installera --omit=valfritt

De finns under valfria beroenden objekt i filen package.json:

"valfria beroenden": {
"paket": "^version"
}

Kategorier gör det enklare att hantera dina beroenden

Att effektivt förstå, hantera och kategorisera beroenden hjälper till att säkerställa en tydlig åtskillnad mellan de paket som krävs för produktion och de som behövs endast under utveckling.

Denna distinktion underlättar effektiv beroendehantering, korrekt buntning och strömlinjeformad distribution av ditt projekt.