Erstellen von Befehlszeilen-Anwendungen mit JavaScript

Erstellen von Befehlszeilen-Anwendungen mit JavaScript

Vorwort:

JavaScript ist eine für das Web entwickelte Sprache, ihr Nutzen geht jedoch weit über das Internet hinaus. Dank Projekten wie Node.js und Electron ist JavaScript sowohl eine universelle Skriptsprache als auch eine Browserkomponente. Es gibt JavaScript Bibliotheken, die speziell für die Erstellung von Befehlszeilenschnittstellen entwickelt wurden. Ja, Sie können JavaScript in Ihrem Terminal ausführen.

Wenn Sie jetzt einen Befehl in das Terminal eingeben, gibt es im Allgemeinen Optionen, auch Schalter oder Flags genannt, mit denen Sie die Ausführung des Befehls ändern können. Dies ist eine nützliche Konvention, die in der POSIX-Spezifikation definiert ist. Daher ist es für einen Programmierer hilfreich zu wissen, wie diese Optionen erkannt und analysiert werden. Um diese Funktionalität aus JavaScript zu erhalten, ist es sinnvoll, eine Bibliothek zu verwenden, die die Erstellung von Befehlszeilenschnittstellen vereinfacht. Mein Favorit ist Commander.js . Es ist einfach, flexibel und intuitiv.

1. Knoten installieren

Um die Commander.js -Bibliothek zu verwenden, muss Node.js installiert sein. Unter Linux können Sie Node mit Ihrem Paketmanager installieren. Beispielsweise auf Fedora , CentOS , Mageia und anderen Systemen:

$ sudo dnf installiere nodejs


Unter Windows und macOS können wir das Installationsprogramm von der Website nodejs.org herunterladen.

2. Installieren Sie Commander.js

Um Commander.js zu installieren, verwenden Sie den npm-Befehl:

$ npm install commander

3. Fügen Sie Ihrem JavaScript-Code eine Bibliothek hinzu

In JavaScrip können Sie mit require eine Bibliothek in Ihren Code einbinden (oder importieren, wenn Sie mit Python vertraut sind). Erstellen Sie eine Datei namens example.js und öffnen Sie sie in Ihrem bevorzugten Texteditor. Fügen Sie oben diese Zeile hinzu, um die Commander.js -Bibliothek einzubinden:

const { Programm } = erforderlich('Kommandant');


4. Optionenanalyse in JavaScript

Um Optionen zu analysieren, müssen Sie zunächst die gültigen Optionen definieren, die Ihre Anwendung akzeptieren kann. Mit der Commander.js -Bibliothek können Sie sowohl kurze als auch lange Optionen definieren, zusammen mit einer hilfreichen Meldung, die den Zweck jeder Option erläutert.

Programm
  .description('Eine Beispielanwendung zum Parsen von Optionen')
  .option('-a, --alpha', 'Alpha')
  .option('-b, --beta <WERT>', 'Geben Sie einen WERT an', 'Foo');

Die erste Option, die ich alpha (kurz -a) nenne, ist ein Boolescher Schalter: Entweder sie ist vorhanden oder sie ist nicht vorhanden. Es sind keine Parameter erforderlich. Die zweite Option, die ich beta (kurz -b) nenne, akzeptiert ein einzelnes Argument und gibt sogar einen Standardwert an, wenn Sie keinen angeben.

5. Zugriff auf Befehlszeilendaten

Sobald Sie gültige Optionen definiert haben, können Sie mithilfe der langen Optionsnamen auf die Werte verweisen:

programm.parse();

const Optionen = Programm.Opts();
console.log('Optionen erkannt:');

wenn (Optionen.alpha) console.log('alpha');
 
const beta = !Optionen.beta ? 'nein' : Optionen.beta;
console.log('Beta ist: %s', Beta);

6. Führen Sie die Anwendung aus

Versuchen Sie, es mit dem Knotenbefehl auszuführen, ohne vorher Optionen zu verwenden:

$ Knoten ./beispiel.js 
Erkannte Optionen: 
Beta ist: Foo

Falls der Benutzer keine Überschreibung vornimmt, werden beta Standardeinstellungen verwendet.

Führen Sie es erneut aus, dieses Mal mit den Optionen:

$ node ./example.js --beta hallo --alpha
Erkannte Optionen: 
Alpha
beta ist: hallo

Dieses Mal hat das Testskript die Option alpha und den vom Benutzer für die Option beta angegebenen Wert erfolgreich erkannt.

7. Optionsanalyse

Hier ist der vollständige Democode zu Ihrer Information:

const { Programm } = erforderlich('Kommandant');

Programm
  .description('Eine Beispielanwendung zum Parsen von Optionen')
  .option('-a, --alpha', 'Alpha')
    .option('-b, --beta <WERT>', 'Geben Sie einen WERT an', 'Foo');

programm.parse();

const Optionen = Programm.Opts();
console.log('Optionen erkannt:');

console.log(Typ der Optionen);

if (optionen.alpha) console.log(' * alpha');
const beta = !Optionen.beta ? 'nein' : Optionen.beta;
console.log(' * Beta ist: %s', Beta);

Im Git-Repository des Projekts finden Sie viele weitere Beispiele.

Das Einbeziehen von Benutzeroptionen ist für jede Anwendung eine wichtige Funktion und Commander.js macht dies ganz einfach. Es gibt neben Commander.js noch andere Bibliotheken, aber ich finde diese hier recht praktisch und schnell zu verwenden. Was ist Ihr bevorzugter Befehlszeilen-Builder für JavaScript ?

Dies ist das Ende dieses Artikels über die Verwendung von JavaScript zum Erstellen von Befehlszeilenanwendungen. Weitere relevante Inhalte zum Erstellen von Befehlszeilenanwendungen mit JavaScript finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • So sammeln und analysieren Sie Befehlszeilenargumente in Node.js
  • So verwenden Sie Node.js zum Implementieren von Befehlszeilenspielen
  • Node.js verwendet yargs zur Verarbeitung von Befehlszeilenparametern
  • So analysieren und formatieren Sie JSON-Ausgabe mit Linux-Befehlszeilentools
  • Node.js-Befehlszeilen-Tutorial mit Bildern und Text
  • Node.JS prüft, ob der Chrome-Browser installiert ist und öffnet die angegebene URL in der Kommandozeile

<<:  So verwenden Sie nginx zum Konfigurieren des Zugriffs auf wgcloud

>>:  In CSS häufig verwendete Schriftstile zum Festlegen verschiedener Schriftartänderungen (Beispiel mit ausführlicher Erläuterung)

Artikel empfehlen

Einführung in die Benutzerverwaltung unter Linux-Systemen

Inhaltsverzeichnis 1. Die Bedeutung von Nutzern u...

Methode zur Änderung des MySQL-Kontokennworts (Zusammenfassung)

Vorwort: Bei der täglichen Verwendung der Datenba...

Die Bilder in HTML werden direkt durch base64-kodierte Strings ersetzt

Kürzlich stieß ich auf eine Webseite, die zwar Bil...

Beispiel für eine automatische Importmethode für allgemeine Vue3.0-Komponenten

1. Voraussetzungen Wir verwenden zum Importieren ...

So ändern Sie das Passwort des Root-Benutzers in MySQL

Methode 1: Verwenden Sie den Befehl SET PASSWORD ...

Detaillierte Erklärung der Vue-Komponenten

<Text> <div id="Wurzel"> &l...

Zwei gängige Lösungen für den HTML-Textüberlauf zeigen Auslassungszeichen an

Methode 1: Verwenden Sie zur Lösung die CSS-Überl...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.17

In diesem Artikel wird die Installations- und Kon...

Zehn beliebte Regeln für das Interface-Design

<br />Dies ist ein Artikel, den ich vor lang...