Einführung in Node.js, Folge 22: CLI-Anwendungen

the next big thing  –  0 Kommentare
Anzeige

Node.js wird in der Regel als Laufzeitumgebung für Webanwendungen verwendet. Doch es eignet sich auch für andere Arten von Anwendungen wie Konsolenprogramme. Das wirft jedoch eine Reihe von Problemen auf, von der Analyse der Parameter bis zur Ausgabe der Hilfe. Wie lässt sich das bewerkstelligen?

Gibt man einer in Node.js entwickelten Anwendung die passenden Rechte im Dateisystem und versieht sie mit dem passenden Shebang, lässt sie sich wie ein Binärprogramm aufrufen.

Anzeige

Die größte Herausforderung bei der Definition eines Command-Line-Interface (CLI) besteht technisch gesehen in der Analyse der übergebenen Parameter, da es hier zahlreiche Varianten gibt: Parameter können über Aliasnamen und Standardwerte verfügen, sie können einfach oder mehrfach zulässig sein, verpflichtend oder optional.

Auch die Definition von Kommandos stellt eine gewisse Hürde dar, da sie dedizierte Hilfetexte und unterschiedliche Parametersets erfordern. Ebenfalls schwierig kann die Ausgabe an sich sein, die üblicherweise formatiert erfolgen soll.

Zu all diesen Zwecken gibt es verschiedene Module, einschließlich ganzer Komplettlösungen. Leider bieten sie selten alle Funktionen, die man benötigt, und engen andererseits durch gewisse Vorgaben ein. Daher ist es unter Umständen schwierig, mit einem solchen Modul glücklich zu werden.

Abhilfe schafft eine Reihe zwar aufeinander abgestimmter, aber dennoch eigenständiger Module: command-line-args, command-line-commands und command-line-usage bieten Lösungen für die wichtigsten Probleme, dem Analysieren von Parametern, dem Definieren von Kommandos und dem Anzeigen der Hilfe.

Ergänzen lassen sie sich durch findsuggestions und buntstift, die für Vorschläge bei falsch geschriebenen Kommandos und eine formatierte Ausgabe sorgen.

Nimmt man alle diese Module zusammen, ergibt sich ein flexibles und zugleich mächtiges System aus einzelnen kleinen Bausteinen, die sich auf vielfältige Art gemeinsam verwenden lassen.

Wie das alles funktioniert und welche Fallstricke es dabei zu beachten gilt, zeigt das folgende Video:

Einführung in Node.js, Folge 22: CLI-Anwendungen

tl;dr: Node.js eignet sich auch zum Schreiben von CLI-Anwendungen. Verschiedene Module ermöglichen das komfortable und flexible Analysieren von Parametern, das Definieren von Kommandos und das Anzeigen der Hilfe.

Anzeige