web-dev-qa-db-fra.com

Faire un script qui accepte les arguments de ligne de commande

Quelle est la syntaxe correcte pour exécuter un script Node.js avec des arguments de ligne de commande sous Linux ou Mac?

Pour exécuter le script sans argument, je voudrais simplement utiliser la commande node stuff.js, mais dans ce cas, j'aimerais exécuter un script appelé stuff.js avec les arguments "blah", "hee", "woohoo!".

34
Anderson Green

Voir http://nodejs.org/docs/latest/api/process.html#process_process_argv

En résumé, vous le dirigerez comme 

node stuff.js blah hee "whoohoo!"

Ensuite, vos arguments sont disponibles dans process.argv

47
hexist

Si vous voulez faire des choses plus sophistiquées, les modules suivants sont vraiment utiles:

Et pour le plaisir

15
zemirco

Nomnom est une autre solution possible.

3
dylanized

Ce module de nœud simple est également utile: command-line-args

Cela permet de définir une définition simple:

const optionDefinitions = [
  { name: 'verbose', alias: 'v', type: Boolean },
  { name: 'src', type: String, multiple: true, defaultOption: true },
  { name: 'timeout', alias: 't', type: Number }  
]

Il valide vos options et vous permet d'y accéder de manière simple.

0
Andreas