Heim  >  Artikel  >  Web-Frontend  >  Verwendung des Befehlszeilenparameters von nodejs durch den Modulkommandanten example_node.js

Verwendung des Befehlszeilenparameters von nodejs durch den Modulkommandanten example_node.js

WBOY
WBOYOriginal
2016-05-16 16:36:151507Durchsuche

Es ist wahr, dass der integrierte Prozess.agrv für die vorherige Verarbeitung verwendet wurde. Dies kann funktionieren, aber es ist nicht einfach zu verwenden, also hat TJ Master einen geschrieben, mein Gott, der völlig überlegen ist:

1. Installation

Code kopieren Der Code lautet wie folgt:

npm install commander

2. Optionsanalyse

Optionen mit Commander werden mit der Methode .option() definiert, die auch als Dokumentation für die Optionen dient. Das folgende Beispiel analysiert Argumente und Optionen aus „process.argv“, wobei die verbleibenden Argumente im Array „program.args“ verbleiben, die nicht von verwendet wurden Optionen.

Code kopieren Der Code lautet wie folgt:

#!/usr/bin/env node

/**
 * Modulabhängigkeiten.
 */

var program = require('commander');

Programm
.version('0.0.1')
.option('-p, --peppers', 'Paprika hinzufügen')
.option('-P, --pineapple', 'Ananas hinzufügen')
.option('-b, --bbq', 'BBQ-Sauce hinzufügen')
.option('-c, --cheese [type]', 'Fügen Sie die angegebene Käsesorte [marble] hinzu', 'marble')
.parse(process.argv);

console.log('Sie haben eine Pizza bestellt mit:');
if (program.peppers) console.log(' - Peppers');
if (program.pineapple) console.log(' - ananas');
if (program.bbq) console.log(' - bbq');
console.log(' - %s Cheese', program.cheese);

Kurze Flags können als einzelnes Argument übergeben werden, zum Beispiel ist -abc äquivalent zu -a -b -c. Mehrwortoptionen wie „–template-engine“ werden in Kamel-Schreibweise geschrieben und werden zu program.templateEngine usw.

3. Hilfeinformationen automatisch generieren

Code kopieren Der Code lautet wie folgt:

$ ./examples/pizza --help

Verwendung: Pizza [Optionen]

Optionen:

-V, --version gibt die Versionsnummer aus
-p, --peppers Paprika hinzufügen
-P, --pineapple Ananas hinzufügen
-b, --bbq BBQ-Sauce hinzufügen
-c, --cheese Füge die angegebene Käsesorte [Marmor] hinzu
-h, --help gibt Nutzungsinformationen aus

Natürlich können Sie es auch manuell generieren:

Code kopieren Der Code lautet wie folgt:

#!/usr/bin/env node

/**
 * Modulabhängigkeiten.
 */

var program = require('../');

Funktionsliste(val) {
Gibt val.split(',').map(Number);
zurück }

Programm
.version('0.0.1')
.option('-f, --foo', 'einige foo aktivieren')
.option('-b, --bar', 'einige Leiste aktivieren')
.option('-B, --baz', 'einige Baz aktivieren');

// muss vor .parse() sein, da
// emit() des Knotens erfolgt sofort

program.on('--help', function(){
console.log(' Beispiele:');
console.log('');
console.log(' $ custom-help --help');
console.log(' $ custom-help -h');
console.log('');
});

program.parse(process.argv);

console.log('stuff');

4. Geben Sie ein vollständiges Beispiel

Code kopieren Der Code lautet wie folgt: