node-nolife est une application extrêmement pratique lorsqu'on développe avec NodeJS.
C'est quoi ?
Son but est d'automatiser le redémarrage d'une application en fonction d'une modification sur des fichiers.
J'y vois immédiatement 2 utilisations !
La première consiste à redémarrer une application lorsque l'on modifie un fichier de configuration. Attention, ce n'est pas forcément applicable dans tous les cas ! Par exemple, des problèmes de session peuvent se poser lorsque l'on redémarre une application web alors que des utilisateurs sont connectés. C'est donc un use case que je déconseille.
La deuxième consiste à redémarrer une application lorsque l'on modifie ses sources. Et là nous parlons donc d'une fonctionnalité typique d'un IDE !
Installation
J'ai choisi d'installer node-nolife globalement, puisque cela peut servir pour n'importe quel type de développement.
# npm install -g nolife
A partir de ce moment, nolife est accessible de n'importe quel endroit de la machine.
Utilisation
Enfin, pour l'utiliser :
$ cd my_project $ node . . node app.js
Ceci permet de scruter tous les fichiers placés dans le dossier my_project (de manière récursive) puis, dès qu'un d'entre eux est modifié, de lancer la commande node app.js (permettant de démarrer mon application).
$ nolife usage: nolife <dirname_to_watch> <ext,ens,ion,s,to,wa,tch> <program> [param] [...]
Dans mon projet, j'ai créé ce fichier de démarrage :
#!/bin/bash which nolife if [ $? == 0 ] then nolife . . node app.js else echo "Auto restart mode is unavailable because node-nolife isn't installed" echo "Please install node-nolife by typing 'sudo npm install -g nolife' and retry" fi
autorestart


My Life