Express.js

Van Wikipedia, de gratis encyclopedie

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 plattformübergreifend
Programmier­sprache JavaScript
Kategorie Webframework
Lizenz MIT-Lizenz[4]
expressjs.com

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

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

Einer Client-Anfrage (HTTP-Request) können im Router eine oder mehrere Requesthandler zugewiesen werden. Für die Zuweisung zwischen Anfrage und Requesthandler stellt Express.js Weiterleitungs-Werkzeuge zur Verfügung.[7]

Werden einer Anfrage mehrere Requesthandler zugewiesen, so werden diese nacheinander ausgeführt; jeder dieser Requesthandler ist ein für sich genommen neutrales Programm.

Ein Requesthandler akzeptiert dabei drei Parameter:

  • das Anfrageobjekt
  • das Antwortobjekt
  • den nächsten unter dieser Anfrage abzuarbeitenden Requesthandler.

Durch diese modulare Architektur lassen sich Prozesse, welche oft ausgeführt werden müssen, z. B. Authentifizierungslogiken, vor Abhandlung eines Prozesses einschieben.[6]

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.[5]

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

const express = require('express') const app = express() const server = app.listen(3000, function () {     const host = server.address().address     const port = server.address().port     console.info(`Example app listening at http://${host}:${port}`) }) 

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

const express = require('express') const app = express() // Respond with "Hello World" when a GET request is made to the homepage app.get('/', function (request, response) {     response.send('Hello World') }) 

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

app.get('/adminArea', authentication(request, response, next), showAdminArea(request, response)) 

Projekte, die mit Express realisiert wurden:[9]

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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  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. github.com.
  5. a b Evan Hahn: Express.js in Action
  6. a b Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen
  7. a b Express routing. Website von Express.js. Abgerufen am 2. Juni 2015
  8. Using Express middlewares. Website von Express.js. Abgerufen am 2. Juni 2015.
  9. expressjs.com: Express Applications (Memento vom 8. Mai 2015 im Internet Archive) (englisch)