Express.js
Express.js
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Douglas Christopher Wilson and community |
Erscheinungsjahr | 16. November 2010 |
Aktuelle Version | 4.19.2[1] (25. März 2024) |
Betriebssystem | plattformübergreifend |
Programmiersprache | JavaScript |
Kategorie | Webframework |
Lizenz | MIT-Lizenz[2] |
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.[3]
Architektur
Eine Express.js-Anwendung besteht zumindest aus der Datei app.js, in welcher Middleware und Controller registriert und der Webserver gestartet wird.[4]
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.[5]
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.[4]
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.[3]
Beispiele
app.js
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
Dieser Code weist der Anfrage ‘/’
einen Requesthandler zu.[5]
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
Es gibt viele Möglichkeiten Middlewares in Express.js zu nutzen. Eine ist, mehrere Requesthandler an eine Client-Anfrage zu binden.[6] 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
Projekte, die mit Express realisiert wurden:[7]
- Myspace
- LearnBoost
- Storify
- Geekli.st
- Klout
- Prismatic
- StudyNotes
- Persona
- Countly
- Segment.io
- Yummly
- Koding
- Apiary.io
- Cozy
- FlyLatex
- SimpleSet
- Ghost
- LogHuman
- VogueVerve
- Glip
Literatur
- Mastering Web Application Development with Express ISBN 9781783981083
- Manning: Express.js in Action ISBN 9781617292422
- Web Development with Node and Express ISBN 978-1-4919-4930-6
- Express Web Application Development ISBN 9781849696548
Weblinks
- Offizielle Website
Einzelnachweise
- ↑ 4.19.2. 25. März 2024 (abgerufen am 7. April 2024).
- ↑ github.com.
- ↑ a b Evan Hahn: Express.js in Action
- ↑ a b Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen
- ↑ a b Express routing. Website von Express.js. Abgerufen am 2. Juni 2015
- ↑ Using Express middlewares. Website von Express.js. Abgerufen am 2. Juni 2015.
- ↑ Originals vom 8. Mai 2015 im Internet Archive) Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/expressjs.com. Website von Express.js. Abgerufen am 2. Juni 2015.