# Node Package Manager
Node.js’ package ecosysteem (npm) is het grootste ecosysteem van open source bibliotheken (libraries) ter wereld. Dit ecosysteem laat ontwikkelaars toe om code te delen en eenvoudig toe te voegen aan bestaande projecten.
Een library, ook wel bibliotheek genoemd, is een verzameling van vooraf geschreven code die is ontworpen om hergebruikt te worden. Het bevat vaak code die ontwikkelaars kunnen gebruiken om specifieke taken te vereenvoudigen of functionaliteit toe te voegen aan hun eigen programma’s.
Functionaliteit
Installeren van pakketten
Met NPM kunnen ontwikkelaars externe pakketten eenvoudig toevoegen aan hun Node.js-project.
Als je een specifieke bibliotheek voor het verwerken van datums nodig hebt, kun je deze met een eenvoudige opdracht installeren en hoef je dit niet zelf te schrijven.
Beheren van afhankelijkheden of
dependencies
NPM houdt automatisch bij welke pakketten jouw project gebruikt en welke versies ervan in het package.json bestand. Dit zorgt voor een gestroomlijnd beheer van dependencies.
# Installatie
# NPM Installatie (eenmalig)
npm wordt standaard geïnstalleerd wanneer je Node.js installeert. Open een terminal of command prompt en voer de volgende opdracht uit om te controleren of npm correct is geïnstalleerd:
npm -v
# Project starten
Navigeer naar de map waar je je project wilt maken en voer het volgende uit:
npm init
Volg de instructies om een package.json-bestand te maken. Dit bestand bevat informatie over je project en de dependencies. Indien je een npm-project wil starten en deze configuratie wil overslaan gebruik je npm init -y.
# Package installeren
Je kunt npm gebruiken om pakketten van de npm-registry te installeren.
Hierdoor wordt een node_modules-map gemaakt in je projectdirectory.
Wees je steeds bewust of je een “normale” dependency of een development dependency installeert. Het onderscheid tussen dependencies en devDependencies is belangrijk omdat het ervoor zorgt dat de productieomgeving alleen de noodzakelijke afhankelijkheden heeft en niet wordt belast met ontwikkelhulpmiddelen die niet nodig zijn tijdens runtime.
# Dependencies
- Bevat de
dependenciesdie nodig zijn voor het uitvoeren van je applicatie in een productieomgeving. - Typische voorbeelden zijn bibliotheken of frameworks die nodig zijn voor de runtime-uitvoering van je applicatie, zoals Express voor een Node.js-webserver.
npm install mijn-package-naam
npm install express --save
2
package.json
"dependencies": {
"express": "^4.17.1",
"lodash": "^4.17.21"
}
2
3
4
# devDependencies
- Bevat afhankelijkheden die uitsluitend nodig zijn tijdens de ontwikkeling en tests van je applicatie.
- Typische voorbeelden zijn testframeworks, bundlers, linters of hulpprogramma’s die je tijdens het ontwikkelen gebruikt.
npm install mijn-package-naam --save-dev
npm install mocha --save-dev
2
package.json
"devDependencies": {
"mocha": "^9.1.3",
"eslint": "^7.32.0"
}
2
3
4
# Package gebruiken
Nadat een pakket is geïnstalleerd, kun je het in je code importeren en gebruiken.
app.js
// Importeer het lodash-pakket
const { sum } = require("lodash");
const numbers = [1, 2, 3, 4, 5];
// Gebruik een functie van lodash
const arraySum = sum(numbers);
console.log("Sum of numbers:", arraySum);
2
3
4
5
6
7
8
# Scripts
Scripts zijn uitvoerbare stukken code die kunnen worden uitgevoerd via de command line. Deze scripts worden gedefinieerd in het package.json-bestand van je project.
Automatisering van taken
Scripts stellen je in staat om veelvoorkomende taken of workflows te automatiseren. Bijvoorbeeld, je kunt een script maken om je code te compileren, tests uit te voeren, of statische code-analyse uit te voeren met slechts één eenvoudig commando.
Je kunt scripts gebruiken om op maat gemaakte taken uit te voeren die specifiek zijn voor je project. Bijvoorbeeld, het starten van een lokale ontwikkelingsserver, het bouwen van bronbestanden, of het genereren van documentatie.
Vaak zullen je
devDependencieshier gebruikt worden.Minder opdrachten om te onthouden
In plaats van lange commando’s met veel flags te onthouden, kun je complexe taken in een enkel commando schrijven met behulp van scripts. Dit maakt het gemakkelijker om taken uit te voeren zonder alle details te onthouden.
Consistente workflow
Het definiëren van scripts in je package.json zorgt voor een consistente workflow binnen je team of project. Iedereen kan dezelfde scripts gebruiken om taken uit te voeren, waardoor de kans op fouten wordt verminderd.
package.json
"scripts": {
"start": "node index.js",
"test": "mocha",
"lint": "eslint .",
"build": "webpack"
}
2
3
4
5
6
npm start Start de applicatie.
npm test Voert tests uit met Mocha.
npm run lint Voert linting uit met ESLint.
npm run build Voert een buildtaak uit met Webpack.
2
3
4
