5. Installer Express.js

Alors, nous avons mis en place notre fichier package.json, mais nous n’avons pas encore installé les dépendances nécessaires à notre future API Rest.

On va donc installer Express.js dans notre projet, qui est actuellement le framework le plus populaire pour créer des API Rest.

Pour installer Express, nous allons utiliser NPM. Décidément, il est bien pratique ce NPM ! 😇

La commande à exécuter est assez simple et explicite :

// Exécutez cette commande à la racine de votre projet : 
npm install express --save

Avec cette simple commande, vous venez d’installer Express dans votre projet. Et mine de rien, cette modeste commande vient de réaliser un sacré travail :

  • NPM a téléchargé Express, et l’a placé dans un nouveau dossier node_modules de votre projet. Le nom node_modules est choisi arbitrairement par NPM, nous n’avons pas notre mot à dire là-dessus.
  • NPM a également regardé le fichier package.json… de Express ! Et oui, ce n’est rien d’autre qu’un paquet JavaScript après tout, qui a lui-même ses propres dépendances. Du coup, NPM a regardé de ce côté-là afin d’installer les dépendances de nos dépendances, et ainsi de suite… On se retrouve ensuite avec le paquet Express capable de fonctionner dans notre projet, parfait !

Et que fait l’option ‘save’, à la fin de la commande ?

L’option save permet d’ajouter Express à la liste des dépendances de notre package.json. Et oui, sans l’option save, NPM se contente d’installer Express en local sur votre machine, dans le dossier node_modules… mais il ne déclare pas explicitement Express comme une dépendance de votre projet !

Ne vous privez pas donc pas d’utiliser cette option, cela évitera certains oublis. Regardez le résultat dans votre package.json :

{
  "name": "express-api-rest",
  "version": "1.0.0",
  "description": "express-api-rest",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "x.y.z" // <- ^4.17.1 par exemple.
  }
}

Et oui, comme je vous le disais, NPM s’est occupé de créer une section dependencies, et à ajouter Express à l’intérieur (On peut même voir le numéro de version s’afficher).

Félicitations, vous venez d’installer Express dans votre projet Node.js, ce n’est pas rien tout de même. Et maintenant, on va pouvoir se servir de Express depuis notre code !

J’en profite pour insister sur point important : le dossier node_modules est géré directement par NPM. Il est fortement recommandé de ne jamais y toucher !