Einführung in Node.js, Folge 20: Praxisbeispiel

Die vergangenen Folgen haben unter anderem HTTP/2 und Streams vorgestellt und gezeigt, wie Codeanalyse und Tests in Node.js funktionieren. Doch wie lassen sich die einzelnen Bausteine zu einem großen Ganzen kombinieren? Ein Praxisbeispiel zeigt das Zusammenspiel.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Golo Roden

Die vergangenen Folgen haben unter anderem HTTP/2 und Streams vorgestellt und gezeigt, wie Codeanalyse und Tests in Node.js funktionieren. Doch wie lassen sich die einzelnen Bausteine zu einem großen Ganzen kombinieren? Ein Praxisbeispiel zeigt das Zusammenspiel.

Um Node.js zu beherrschen, genügt es nicht, die zahlreichen einzelnen Module zu kennen. Zusätzlich muss man auch wissen, wie man sie miteinander kombiniert, und wie sich eine große Anwendung strukturieren lässt. Das lässt sich am besten an einem Praxisbeispiel zeigen.

Mehr Infos

Nachdem in Folge 10 ein Dienst zum Kürzen von URLs entwickelt wurde, geht es dieses Mal um einen Dienst zum Ablegen und Abrufen von großen Dateien, wie Audio- und Videodateien, Abbildern von virtuellen Maschinen oder Backups.

Das Besondere ist, dass der Up- und Download der Dateien per Stream erfolgen soll, um einerseits den Speicherbedarf des Servers nicht unnötig in die Höhe zu treiben, und um andererseits kurze Latenzzeiten zu ermöglichen. Zudem soll der Server über HTTP/2 und HTTPS angesprochen werden.

Zur Codeanalyse soll ESLint eingesetzt werden, zum Ausführen von Unit- und Integrationstests dient Mocha. Das Ergebnis wird für die einfache Ausführung in ein Docker-Image verpackt, außerdem darf eine Dokumentation nicht fehlen.

Außerdem wiederholt die Folge verschiedene Grundlagen, beispielsweise den Einsatz von Express und Middleware, oder den Zugriff auf das Dateisystem.

Die für das Praxisbeispiel verwendete Struktur ist zudem darauf vorbereitet, zukünftig weitere Storage-Engines anzubinden. So wäre beispielsweise die Integration einer Datenbank oder eines Dienstes wie Amazon S3 denkbar.

Wie das alles funktioniert, zeigt das folgende Video:

Empfohlener redaktioneller Inhalt

Mit Ihrer Zustimmmung wird hier eine Vimeo-Video (Vimeo LLC) geladen.

Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen (Vimeo LLC) übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.

tl;dr: Ein Dienst zum Ablegen und Aufrufen großer Dateien eignet sich hervorragend als Praxisbeispiel, um das Zusammenspiel verschiedener Module und Komponenten in Node.js zu demonstrieren. ()