Zugegeben, in der vorherigen Verarbeitung wurde der integrierte Prozess verwendet.
1. Installation
Die Codekopie lautet wie folgt:
NPM Commander installieren
2. Optionsanalyse
Optionen mit Commander sind mit der .option () -Methode definiert, die auch als Dokumentation für die Optionen dienen. Das folgende Beispiel analysiert die Argumente und Optionen von Process.argv, wobei die verbleibenden Argumente als Programm.args -Array, die nicht von Optionen konsumiert wurden.
Die Codekopie lautet wie folgt:
#!/usr/bin/envknoten
/**
* Modulabhängigkeiten.
*/
var programm = require ('Commander');
Programm
.version ('0.0.1')
.Option ('-p, -peppers', 'Peppers hinzufügen')
.Option ('-p,--pineanptle', 'Ananas hinzufügen')
.Option ('-b,--bbq', 'BBQ-Sauce hinzufügen')
.Option ('-c, --cheese [Typ]', 'füge die angegebene Art von Käse hinzu [Marmor]', 'Marmor')
.Parse (process.argv);
console.log ('Sie haben eine Pizza mit:') bestellt;
if (programm.peppers) console.log (' - peppers');
if (programm.pineApple) console.log (' - Ananas');
if (programm.bbq) console.log (' - bbq');
console.log (' - %s käse', programm.cheese);
Kurzflaggen können als einzelner Arg übergeben werden, beispielsweise -abc entspricht -a -b -c. Multi-Wörter-Optionen wie „Vorlagemotor“ sind mit Kamelgeschliffen und werden programm. TemplateEngine usw.
3.. Erstellen Sie automatisch Hilfeinformationen
Die Codekopie lautet wie folgt:
$ ./Examples/pizza ---help
Verwendung: Pizza [Optionen]
Optionen:
-V, --version Ausgabe der Versionsnummer
-P, -Peppers fügen Paprika hinzu
-P, -Pineanptle Ananas hinzufügen
-B, -BBQ BBQ -Sauce hinzufügen
-c, --cheese <typs> Fügen Sie den angegebenen Käsetyp [Marmor] hinzu.
-h, -HELP -Ausgangsnutzungsinformationen
Natürlich können Sie auch manuell erzeugen:
Die Codekopie lautet wie folgt:
#!/usr/bin/envknoten
/**
* Modulabhängigkeiten.
*/
var programm = require ('../');
Funktionsliste (Val) {
return val.split (','). map (number);
}
Programm
.version ('0.0.1')
.Option ('-f,--foo', 'etwas foo' aktivierst))
.Option ('-b,-Bar', 'etwas Bar aktivieren')
.Option ('-b,--baz', 'einige Baz' aktivierst ');
// muss vor .Parse () da sein
// Knotens emit () ist sofort
programm.on ('-help', function () {
console.log ('Beispiele:');
console.log ('');
console.log ('$ Custom-Help--Help');
console.log ('$ Custom -Help -h');
console.log ('');
});
Programm.Parse (process.argv);
console.log ('Stuff');
4. Geben Sie ein vollständiges Beispiel an
Die Codekopie lautet wie folgt:
Funktionsbereich (Val) {
return val.split ('..'). map (number);
}
Funktionsliste (Val) {
return val.split (',');
}
Funktion sammeln (val, memo) {
memo.push (val);
Rückmemo;
}
Funktionszunahme (v, Gesamt) {
Return Total + 1;
}
Programm
.version ('0.0.1')
.usage ('[Optionen] <Datei ...>')
.Option ('-i,-integer <n>', 'ein ganzzahliges Argument', ParseinT)
.Option ('-f,-float <n>', 'ein Float-Argument', Parsefloat)
.Option ('-r,-Range <a> .. <b>', 'a Range', Bereich)
.Option ('-l, -list <elemente>', 'eine Liste', Liste)
.Option ('-o, --optional [value]', 'ein optionaler Wert')
.Option ('-c,-collect [value]', 'ein wiederholbarer Wert', sammeln, [])
.Option ('-v, --verbose', "ein Wert, der erhöht werden kann", Erhöhung, 0)
.Parse (process.argv);
console.log ('int: %J', Programm.Integer);
console.log ('float: %j', programm.float);
console.log ('optional: %J', Programm.Optional);
Programm.Range = Programm.Range || [];
console.log ('Bereich: %J .. %J', Programm.Range [0], Programm.Range [1]);
console.log ('Liste: %j', Programm.List);
console.log ('sammeln: %j', Programm.Collect);
console.log ('ausführlich: %J', Programm.verbose);
console.log ('args: %j', programm.args);