Nützliche und interessante Bibliotheken

💡

Dauer: 30 Minuten

Ziel: Vorstellung einiger Bibliotheken, die weitere Möglichkeiten aufzeigen

Die hier vorgestellten Bibliotheken könnten für das Projekt nützlich sein und dürfen verwendet werden.

In replit.com können Bibliotheken im Bereich Packages (das Würfel-Symbol) gesucht und dem Projekt hinzugefügt werden.

In Node.js werden Bibliotheken mit dem Terminal-Befehl npm install für das Projekt installiert. Hierbei muss der Name der Bibliothek angegeben werden, z.B. node-localstorage für localStorage:

npm install node-localstorage

Ausgabe im Terminal

In der textbasierten Ausgabe im Terminal lassen sich auch Farben definieren, siehe auch die Lektion zur Ausgabe.

Mit einer Hilfsbibliothek wie z.B. PicoColors können Farben relativ leicht in der Textausgabe gesetzt werden. Dazu ein Beispiel (zuvor muss natürlich PicoColors installiert werden):

import pc from 'picocolors';
 
console.log(`${pc.red("Hallo")} und ${pc.green("Willkommen!")}`);

Dies ergibt die folgende Ausgabe:

Pico Colors Beispiel

Infos zur Verwendung: https://github.com/alexeyraspopov/picocolors

Alternativen:

Eingabe im Terminal

Die Eingabe mit prompt funktioniert nur in replit.com und nicht in Projekten, die auf dem eigenen Rechner mit Node.js umgesetzt werden. Außerdem ist prompt auf die Eingabe von Text beschränkt.

Um für die Eingabe mehr Möglichkeiten zu erhalten, kann dem Projekt eine zusätzliche Bibliothek als Abhängigkeit hinzugefügt werden.

Synchrone prompt-Bibliotheken

Mit „synchron“ ist hier gemeint, dass der Code bei der Aufforderung zur Eingabe „anhält“. Diese Art der Programmierung ist deutlich einfacher nachzuvollziehen, als die asynchrone Vorgehensweise, die im nächsten Abschnitt beschrieben wird.

Bisher haben wir dafür prompt-sync eingesetzt. Allerdings wurde diese Bibliothek schon länger nicht mehr weiterentwickelt.

Asynchrone prompt-Bibliotheken

Es gibt einige weitere Bibliotheken, um die Eingabe in Node.js/replit umzusetzen. Diese bieten oftmals zusätzliche Funktionalitäten. Jedoch erfolgt der Umgang mit diesen Bibliotheken im Code auf asynchrone Weise mit Promises bzw. async/await. Hierdurch ist die Verwendung dieser Bibliotheken eventuell komplexer und schwerer zugänglich als der Umgang mit synchronen Bibliotheken wie prompt-sync.

Es folgen eine paar Beispiel-Projekte:

Hilfsbibliotheken in JavaScript

Faker ist eine JavaScript-Bibliothek, die zufällige Daten für verschiedene Anwendungsfälle erzeugen kann.

In JavaScript-Projekten wird sowohl in Webanwendungen für den Browser als auch in Node.js häufig die Hilfsbibliothek Lodash eingesetzt. Mit Lodash stehen einige nützliche Funktionen bereit, z.B. sample um zufällige Elemente eines Arrays zu erhalten:

import _  from "lodash";
 
let names = ['Alice', 'Bob', 'Charlie', 'Donna',
  'Eva', 'Frank', 'Geri', 'Harry', 'John'];
 
let randomName = _.sample(names);
 
console.log(randomName);
 
// --> zufälliger Name wird ausgegeben 

Infos zu Lodash: https://lodash.com

Es finden sich viele weitere Hilfsbibliotheken im Umfeld von JavaScript, z.B. für den Umgang mit Datumswerten:

Link-Sammlung zu JavaScript („Awesome List“): https://github.com/sorrycc/awesome-javascript