Express.js

Basisdaten

Entwickler Douglas Christopher Wilson and community
Erscheinungsjahr 16. November 2010
Aktuelle Version 5.2.1[1]
(1. Dezember 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]

Architektur

Bearbeiten

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]

Beispiele

Bearbeiten

app.js

Bearbeiten

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}`)
})

router.js

Bearbeiten

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')
})

Middlewares

Bearbeiten

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

Bearbeiten

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

Literatur

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 5.2.1. 1. Dezember 2025 (abgerufen am 2. Dezember 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)

📚 Artikel Terkait di Wikipedia

Riemannsche Vermutung

Number Theory, In: B. Ramakrishnan, Bernhard Heim, Brundaban Sahu (Hrsg.): Modular Forms and Related Topics in Number Theory, S. 101. P. Borwein, S. Choi

Parameter (Informatik)

umfassend praktiziert (mindestens über Konfigurationsparameter). In der modularen Programmierung sind die Schnittstellen zwischen den einzelnen Modulen

SAP ERP

Module sind jedoch nicht im informationstechnischen Sinne unabhängig (modular); vielmehr sind die Funktionen eng miteinander verzahnt (Funktionsintegration)

Bayes’sche Optimierung

gefunden wird, welcher durch die gewählte Akquisitionsfunktion (acquisition function) beeinflusst wird. Sucht man in der Bayes’schen Optimierung einen Trade-off

Grundlehren der mathematischen Wissenschaften

Introduction to mathematical statistics. 1974 Bruno Schoeneberg: Elliptic modular functions : an introduction. 1974 Vasile-Mihai Popov: Hyperstability of Control

Liste der Plenarvorträge auf den Internationalen Mathematikerkongressen

representations, orbits, invariants Robert Langlands: L-Functions and Automorphic Representations. Yuri Manin: Modular Forms and Number Theory. Sergei Petrowitsch

Prinzipien objektorientierten Designs

Umsetzung der Datenkapselung. Das Linguistic-Modular-Units-Prinzip (englisch für Prinzip linguistisch-modularer Einheiten) besagt, dass Module durch syntaktische

Eurofighter Typhoon

Adacore. 30. Mai 2014, abgerufen am 30. Mai 2014 (englisch).  Integrated Modular Avionics with COTS directed to Open Systems and Obsolescence Management