Zum Inhalt springen

Express.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. Januar 2017 um 12:54 Uhr durch Trustable (Diskussion | Beiträge) (+Kategorie:JavaScript-Bibliothek). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Express.js

Basisdaten

Entwickler Douglas Christopher Wilson and community
Erscheinungsjahr 16. November 2010
Aktuelle Version 5.1.0[1]
(31. März 2025)
Aktuelle Vorabversion 5.0.0-beta.1[2][3]
(15. Februar 2022)
Betriebssystem Cross-platform
Programmier­sprache JavaScript
Lizenz MIT License
expressjs.com

Express.js ist ein serverseitiges Web Application Framework für die JavaScript-basierte Plattform Node.js. Es erweitert Node.js um Werkzeuge, mit denen das Entwickeln moderner Webanwendungen einfacher gestaltet wird.[4]

Architektur

Eine Express.js-Anwendung besteht zumindest aus der Datei app.js, in welcher Middleware und Controller registriert und der Webserver gestartet wird.[5]

Einer Client-Anfrage (HTTP-Request) können im Router eine oder mehrere Requesthandler zugewiesen werden. Werden einer Anfrage mehrere Requesthandler zugewiesen, werden diese nacheinander ausgeführt. Jeder dieser Requesthandler ist ein für sich genommen neutrales Programm. Für die Zuweisung zwischen Anfrage und Requesthandler stellt Express.js Weiterleitungs-Werkzeuge zur Verfügung.[6] Ein Requesthandler akzeptiert dabei drei Parameter: das Anfrageobjekt, das Antwortobjekt und der nächste unter dieser Anfrage abzuarbeitende Requesthandler. Durch diese modulare Architektur lassen sich leicht Prozesse, welche oft ausgeführt werden müssen, wie zum Beispiel Authentifizierungslogiken, vor Abhandlung eines Prozess einschieben.[7]

Um JavaScript-Konventionen fortzusetzen, wird Express.js oft in Kombination mit NoSQL-Datenbanken wie MongoDB verwendet. Eine etablierte Kombination von Technologien, in welcher Express.js eingesetzt wird, nennt sich MEAN und steht für MongoDB, Express.js, Angular.js und Node.js.[8]

Beispiele

app.js

Dieser Code startet einen Webserver, der auf Port 3000 hört.[9]

var express = require('express');
var app = express();
var server = app.listen(3000, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log('Example app listening at http://%s:%s', host, port);
});

router.js

Dieser Code weist der Anfrage ‘/’ einen Requesthandler zu.[10]

var express = require('express');
var app = express(); // respond with "hello world" when a GET request is made to the homepage
app.get('/', function(req, res) {
    res.send('hello world');
});

Middlewares

Es gibt viele Möglichkeiten Middlewares in Express.js zu nutzen. Eine ist, mehrere Requesthandler an eine Client-Anfrage zu binden.[11] Dieser Code zeigt, wie eine Authentifizierungslogik vor den vom Client geforderten Prozess eingeschoben wird.

app.get('/adminArea', authentication(req, res, next), showAdminArea(req, res));

Projekt

  • MySpace
  • LearnBoost
  • Storify
  • Geekli.st
  • Klout
  • Prismatic
  • StudyNotes
  • Persona
  • Countly
  • Segment.io
  • Yummly
  • Koding
  • Apiary.io
  • Cozy
  • FlyLatex
  • SimpleSet
  • Ghost
  • LogHuman
  • VogueVerve
  • Glip

Literatur

Einzelnachweise

  1. Release 5.1.0. 31. März 2025 (abgerufen am 10. April 2025).
  2. github.com.
  3. registry.npmjs.com. In: npmjs. (abgerufen am 3. März 2023).
  4. Evan Hahn: Express.js in Action
  5. Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen
  6. Express routing. Website von Express.js. Abgerufen am 2. Juni 2015
  7. Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen
  8. Evan Hahn: Express.js in Action
  9. Express „Hello World“ Example. Website von Express.js. Abgerufen am 2. Juni 2015.
  10. Express routing. Website von Express.js. Abgerufen am 2. Juni 2015.
  11. Using Express middlewares. Website von Express.js. Abgerufen am 2. Juni 2015.