Zurück zum Blog

Folgen und abonnieren

Weniger schreiben, mehr auf der Edge erreichen – wir stellen Ihnen expressly vor

Dora Militaru

Developer Relations Engineer

Wünschten auch Sie, Compute@Edge würde wie das Ihnen bereits vertraute Framework funktionieren? Wir haben soeben expressly freigegeben, unseren minimalistischen Routing-Layer für auf Fastlys Compute@Edge ausgeführte JavaScript Apps. Er wurde vom populären Framework Express für Node.js inspiriert.

Da Compute@Edge ein maschinennahes Framework ist, können Entwickler mithilfe von Bibliotheken wie dieser sehr schnell und in ihrer bevorzugten Sprache auf dieses Framework aufbauen. Auch mein Kollege Kailan hat in seinem kürzlich veröffentlichten Blogpost eine Bibliothek für Edge Side Includes in Rust untersucht.

Dank expressly können Sie sich auf die Logik Ihrer Anwendung konzentrieren. Eine Reihe von hilfreichen Features machen den Einstieg in Compute@Edge in JavaScript so reibungslos wie möglich:

Weniger schreiben, mehr erreichen

Nichts ist für mich schöner, als unnötigen Code wegzustreichen – was Ihnen mein Team durchaus bestätigen kann! Beim Umschreiben von Code mit expressly im Fastly Developer Hub strahlte ich wohl wie ein Honigkuchenpferd.

Um Ihnen einen kleinen Vorgeschmack darauf zu geben, wie viel Vergnügen es bereitet, Compute@Edge Apps mithilfe von expressly zu coden, habe ich mir folgendes Anwendungsszenario ausgedacht: 

  1. Bei Anfragen an /base64/[etwas]:

    1. soll ein Segment des URL-Pfads gelesen,

    2. das Segment in ein Cookie geschrieben,

    3. das Ganze decodiert und anschließend in den Antworttext integriert werden.

    4. Schlägt die Decodierung fehl, wird Statuscode 500 (Internal Server Error) angezeigt und die Fehlermeldung in den Antworttext eingefügt.

  2. Alle Anfragen an /status/[etwas] werden an einen Origin-Server weitergeleitet. 

  3. In allen anderen Fällen wird Statuscode 405 (Method Not Allowed) oder Statuscode 404 (Not Found) und die entsprechende Fehlermeldung angezeigt – je nachdem, was auf die jeweilige Situation zutrifft. 

Ohne expressly würden Sie das alles wahrscheinlich so implementieren:

Und hier nochmal genau dieselbe Anwendungslogik, aber diesmal mit expressly:

Toll, oder? Mit dem Route-Matcher, dem integrierten Pfadparameter-Parser und der standardmäßigen Fehlermanagement-Middleware werden komplexe Szenarien zum Kinderspiel. Überzeugen Sie sich selbst!

Erste Schritte mit expressly

Falls Sie Node.js noch nicht eingerichtet und auch noch keinen JavaScript Compute@Edge Service konfiguriert haben, müssen Sie zuerst diese Installierungen vornehmen.

expressly installieren

Installieren Sie expressly aus der npm Registry:

npm i @fastly/expressly

Ihre erste expressly App

Ersetzen Sie den Code von src/index.js in Ihrer Compute@Edge App durch den folgenden Code:

import { Router } from "@fastly/expressly";

const router = new Router();

router.get("/", async (req, res) => {
  return res.send("Hello world!");
});

router.listen();

expressly erkunden

Starten Sie die App lokal:

fastly compute serve

Dadurch wird der Service über http://localhost:7676 gestartet.

Sind Sie bereit?

Dann lassen Sie sich inspirieren! Entwickler können expressly ab sofort mit @fastly/expressly@1.0.0-alpha.x testen. Sehen Sie sich unsere stets wachsende Sammlung an expressly Codebeispielen im Fastly Developer Hub an.

Sie möchten das lieber erstmal einfach so ausprobieren, ohne Fastly Account? Kein Problem! Klonen Sie den zweiten Fiddle in diesem Blogpost und testen Sie ihn an Ihrem eigenen Origin-Server. Wenn dann später Ihre Komplett-Servicelösung weltweit live gehen soll, können Sie sich für ein kostenloses Probeabonnement von Compute@Edge registrieren und unmittelbar mit expressly loslegen.