Node et npm

Node.js

Node.js permet d'exécuter du JavaScript en local ou sur un serveur. C'est un "runtime JavaScript" construit sur le moteur JavaScript V8 de Chrome.

Dans le cadre du cours, node.js sera utilisé entre autres pour :

npm

NPM en 5 points:

  1. npm (Node Package Manager) est un gestionnaire de paquets pour le langage de programmation JavaScript. Il permet aux développeurs de télécharger, installer et utiliser des modules ou des bibliothèques JavaScript prédéfinis, ainsi que de partager leurs propres modules.
  2. npm est inclus avec Node.js, une plateforme de développement JavaScript qui exécute JavaScript sur le serveur. Cela signifie que si vous avez installé Node.js, vous avez également installé npm.
  3. Pour utiliser npm, vous devez ouvrir une invite de commande ou un terminal et naviguer jusqu'au répertoire de votre projet. Vous pouvez ensuite utiliser des commandes npm pour installer les paquets requis pour votre projet, comme "npm install express" pour installer le paquet Express.js.
  4. Les paquets npm sont stockés sur le registre npm, un dépôt en ligne qui contient des millions de paquets open-source que les développeurs peuvent utiliser. Vous pouvez également publier vos propres paquets sur le registre npm pour que d'autres développeurs puissent les utiliser.
  5. npm est un outil essentiel pour les développeurs JavaScript car il facilite la gestion des dépendances et la collaboration sur les projets. Il est utilisé par de nombreux projets open-source populaires et est devenu l'un des gestionnaires de paquets les plus utilisés dans l'industrie.

Liens utiles

Package.json

Pour gérer les librairies dans un projet, npm utilise le fichier package.json . Ce fichier contient entre autres :

Structure

Le fichier package.json contient, entre autres, les sections suivantes :

  1. scripts : les scripts pouvant être exécutés avec la commande npm.
  2. devDependencies : contient les librairies utilisées pour le développement (librairie de tests, de vérification de code, serveur local, etc.).
  3. dependencies : contient toutes les librairies nécessaires à l'exécution de l'application en production.

Exemple de fichier package.json

{
  "scripts": {
    "dev": "vite", 
    "build": "vite build", 
    "test": "vitest" 
  },
  "devDependencies": {
    "vite": "^4.0.0", 
    "vitest": "^0.27.1" 
  },
  "dependencies": {
    "axios": "^1.2.2" 
  }
}

Exécuter un script

Pour exécuter un script qui se trouve dans le fichier package.json il faut écrire npm run + _le_nom_duscript. Par exemple, si on veut exécuter le serveur Vite afin d'afficher le site web :

npm run dev

Installer les libraires

Pour installer toutes les librairies (dépendances) qui se trouvent dans le fichier package.json, il faut exécuter l'instruction suivante :

npm install

Attention
Après avoir créé ou cloné un projet, il ne faut pas oublier de faire npm install afin de télécharger et installer les libraires nécessaires au projet. Lorsqu'on débute, c'est une erreur fréquente d'oublier cette instruction!

Ajouter une librairie

Il est possible d'ajouter des libraires à un projet (donc au fichier package.json) avec l'instruction npm install + _nom_de_la_libraire_àinstaller. Par exemple :

npm install -D vite

L'option -D

L'option -D ajoute la librairie dans la section devDependencies du fichier package.json. Sans cette option, la librairie serait ajoutée à la section Dependencies.

node_module

Les librairies sont installées dans un dossier nommé node_modules à la racine du projet.

Attention
Ce dossier ne devrait jamais se retrouver dans un dépôt git. Dans un dépôt, on veut conserver que le code nécessaire pour générer le projet. C'est pourquoi on retrouve habituellement une exclusion du dossier node_modules/ dans le fichier .gitignore.

Liens utiles