Détails
Comment passer des arguments de ligne de commande à un programme Node.js ?
J'ai un serveur web écrit en [Node.js][1] et je voudrais le lancer avec un dossier spécifique. Je ne sais pas comment accéder aux arguments en JavaScript. J'exécute Node comme ceci :
$ node server.js folder
ici server.js
est mon code serveur. L'aide de Node.js dit que c'est possible :
$ node -h
Usage: node [options] script.js [arguments]
Comment puis-je accéder à ces arguments en JavaScript ? Je n'ai pas réussi à trouver cette information sur le web.
2264
3
Méthode standard (pas de bibliothèque)
Les arguments sont stockés dans le fichier
process.argv
.Voici la documentation du noeud sur la gestion des arguments de la ligne de commande :
Ceci va générer :
Pour normaliser les arguments comme une fonction javascript normale recevrait, je fais ceci dans mes scripts shell node.js :
Notez que le premier argument est généralement le chemin vers nodejs, et le second est l'emplacement du script que vous exécutez.
Optimiste (node-optimist)
Consultez la bibliothèque optimiste, c'est bien mieux que d'analyser les options de la ligne de commande à la main.
Mise à jour
Optimist est déprécié. Essayez yargs qui est un fork actif d'optimist.