Skip to content

Écouter les changements de fichier avec Nodemon

Lors du développement d'applications Node.js, il est courant de vouloir que le serveur redémarre automatiquement chaque fois que vous effectuez un changement dans le code. Faire cela manuellement peut devenir fastidieux. C'est là qu'intervient Nodemon.

Nodemon est un utilitaire qui surveille les modifications des fichiers de votre projet Node.js et redémarre automatiquement l'application lorsque des changements sont détectés.

Depuis Node.js v18

Pour écouter un changement, NodeJS intègre désormais un flag --watch qui permet de surveiller les changements de fichiers:

bash
node --watch server.js
node --watch server.js

Il n'est plus nécessaire d'utiliser Nodemon pour cette fonctionnalité.

1. Installation de Nodemon

Nodemon est généralement installé globalement ou en tant que dépendance de développement dans votre projet.

  • Installation globale (vous pouvez utiliser nodemon pour n'importe quel projet sur votre machine) :

    bash
    npm install -g nodemon
    npm install -g nodemon
  • Installation en tant que dépendance de développement (spécifique à un projet) :

    bash
    npm install --save-dev nodemon
    npm install --save-dev nodemon

2. Utiliser Nodemon

  • Si vous l'avez installé globalement, démarrez simplement votre application avec :

    bash
    nodemon <votre_fichier_entrée>.js
    nodemon <votre_fichier_entrée>.js

    Par exemple, si votre application se lance avec server.js, faites :

    bash
    nodemon server.js
    nodemon server.js
  • Si vous l'avez installé localement comme dépendance de développement, vous pouvez l'ajouter à vos scripts dans package.json :

    json
    "scripts": {
      "start": "node server.js",
      "dev": "nodemon server.js"
    }
    "scripts": {
      "start": "node server.js",
      "dev": "nodemon server.js"
    }

    Et démarrez votre serveur en mode développement avec :

    bash
    npm run dev
    npm run dev

3. Configurer Nodemon

Si vous souhaitez personnaliser le comportement de Nodemon, vous pouvez créer un fichier nodemon.json dans la racine de votre projet.

Voici un exemple basique de configuration :

json
{
  "watch": ["src/", "lib/"],
  "ext": "js,json",
  "ignore": ["src/tests/"],
  "delay": "2500"
}
{
  "watch": ["src/", "lib/"],
  "ext": "js,json",
  "ignore": ["src/tests/"],
  "delay": "2500"
}
  • watch: Dossiers ou fichiers à surveiller.
  • ext: Extensions de fichiers à surveiller.
  • ignore: Dossiers ou fichiers à ignorer.
  • delay: Délai avant le redémarrage après le dernier changement (en millisecondes).

4. Autres commandes et options

  • Pour voir une liste complète des options, exécutez :

    bash
    nodemon --help
    nodemon --help
  • Pour ignorer temporairement le redémarrage automatique (peut être utile lors de la modification de fichiers de configuration), tapez rs et appuyez sur Entrée dans le terminal où Nodemon s'exécute.