4. Configurer un projet Node.js

Alors, précédemment, j’ai fait quelques raccourcis lorsque je vous ai dit qu’avec un seul fichier nous avions une application Node prête à l’emploie. En effet, pour démarrer correctement un projet Node.js, ou n’importe quelle projet JavaScript d’ailleurs, il est nécessaire de mettre en place un fichier nommé package.json. Vous êtes d’ailleurs peut être familier avec ce fichier, mais regardons ensemble quel est son rôle exactement.

En fait, le package.json a au moins deux missions principales :

  • Donner une rapide description à votre projet : Nom de l’application, version actuelle, nom de l’auteur, licence, etc.
  • Lister toutes les dépendances de votre application. Et aussi les dépendances de vos dépendances… mais nous verrons cela prochainement. Pour le moment, retenons que c’est dans ce fichier que nous allons indiquer les dépendances dont on a besoin pour construire notre API Rest.
  • En bonus, on peut même mettre en place des scripts pour simplifier et automatiser certaines tâches. Nous verrons comment cela fonctionne bientôt, mais pour l’instant retenez que c’est beaucoup plus simple que ça en à l’air.

Bon, mais ce qu’il faut retenir, c’est que nous allons avoir besoin d’ajouter un fichier package.json dans notre projet.

OK je comprends… mais comment est-ce que je peux créer cette merveille ?

Eh bien, soit nous pouvons créer un package.json à la main, ou alors utiliser NPM qui peut s’occuper de ça pour nous.

Comme on a installé NPM précédemment, autant d’en servir. La commande fournie par NPM permettant de créer un nouveau fichier package.json est la suivante :

npm init

Je vous invite à l’exécutez tout de suite dans un terminal de commande. Ensuite, suivez les instructions que vous verrez apparaître. On vous demandera le nom de votre projet, la version, le point d’entrée de votre application, et tout un tas d’informations plus ou moins utile pour le moment.

Personnellement, j’ai remplis les éléments qui me semblaient le plus intéressant comme ceci :

La commande npm init requiert certaines informations.

Je vous laisse le soin de donner les informations qui vous semblent pertinente, cela n’a pas une importance capitale pour la suite. À la fin de ce questionnaire interminable, vous devriez apercevoir un message de confirmation. Enfin ! 😉

Appuyez donc sur entrée, et vous devriez voir s’afficher un nouveau package.json dans votre projet :

{
  "name": "node-pokemon-api",
  "version": "1.0.0",
  "description": "An awesome API Rest to handle some pokemons.",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Simon",
  "license": "ISC"
}

On retrouve les informations que nous avons saisies précédemment, NPM a bien pris en compte notre demande !

Remarquez également la création d’un élément scripts, à la ligne 6. C’est NPM qui l’a créé pour nous, sans que nous ne lui demandions explicitement. Mais ce n’est pas grave, car nous allons récupérer ce qu’il a déjà fait, et se débarrasser du script test incompréhensible. À la place, nous allons mettre un petit script pour démarrer notre projet.

Holà ! Mais c’est hyper compliqué tout ça, non ?

Mais non, rassurez-vous. Regardez plutôt, j’ai remplacé le code à la ligne 7 par un nouveau script start :

{
  "name": "node-pokemon-api",
  "version": "1.0.0",
  "description": "An awesome API Rest to handle some pokemons.",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "author": "Simon",
  "license": "ISC"
}

Désormais, pour démarrer notre application, on pourra lancer la commande npm run start plutôt que node app.js. En fait, il faudra exécutez :

npm run <nom_script>

Plutôt que des scripts compliqués, voyez ça comme de simples raccourcis pour le moment. 👍

On a donc un package.json prêt, il ne nous reste plus qu’a ajouté les dépendances nécessaires pour notre projet !