Express.js ist ein serverseitiges JavaScript Framework für Node.js-Anwendungen. Express.js erweitert die Plattform Node.js, mit welcher sich Webserver realisieren lassen, um Werkzeuge, mit denen das Entwickeln moderner Webanwendungen leichter wird[5].
Express.js
| |
---|---|
![]() | |
Basisdaten
| |
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 | Plattformunabhängig |
Programmiersprache | JavaScript |
Lizenz | MIT-Lizenz[4] |
expressjs.com |
Architektur
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 in einem sogenannten Router eine oder mehrere Requesthandler zugewiesen werden. Werden einer Anfrage mehrere Requesthandler zugewiesen, werden diese nacheinander ausgeführt. Jede dieser Requesthandler ist eine Middleware[7]. Ein Requesthandler akzeptiert 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 ein Loginprozess, vor Abhandlung eines anderen angeforderten Prozess einschieben[8].
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[9].
Beispiele
app.js
Dieser Code startet den Server[10]. Er verwendet den Port 3000.
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 weißt der Anfrage ‘/’
einen Requesthandler zu[11].
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[12]. Dieser Code zeigt, wie eine Authentifizierungslogik, vor dem vom Client geforderten Prozess, eingeschoben wird.
app.get('/adminArea', authentication(req, res, next), showAdminArea(req, res));
Projekte[13]
- MySpace
- LearnBoost
- Storify
- Geekli.st
- Klout
- Prismatic
- StudyNotes
- Persona
- Countly
- Segment.io
- Yummly
- Koding
- Apiary.io
- Cozy
- FlyLatex
- SimpleSet
- Ghost
- LogHuman
- VogueVerve
- Glip
Literatur
- http://hsr-ba-ajw-2013.github.io/BA-Dokumentation/thesis.pdf
- http://www.manning.com/hahn/
- https://www.packtpub.com/web-development/mastering-web-application-development-express
- http://shop.oreilly.com/product/0636920032977.do
- https://www.packtpub.com/web-development/express-web-application-developmen
- http://expressjs.com/guide/routing.html
Einzelnachweise
- ↑ Release 5.1.0. 31. März 2025 (abgerufen am 10. April 2025).
- ↑ github.com.
- ↑ registry.npmjs.com. In: npmjs. (abgerufen am 3. März 2023).
- ↑ github.com.
- ↑ Evan Hahn: Express.js in Action.
- ↑ Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen.
- ↑ Express routing. Website von Express.js. Abgerufen am 2. Juni 2015.
- ↑ Alabor Manuel, Joly Alexandre und Weibel Michael: Architekturkonzepte moderner web-applikationen.
- ↑ Evan Hahn: Express.js in Action.
- ↑ Express "Hello World" Example. Website von Express.js. Abgerufen am 2. Juni 2015.
- ↑ Express routing. Website von Express.js. Abgerufen am 2. Juni 2015.
- ↑ Using Express middlewares. Website von Express.js. Abgerufen am 2. Juni 2015.
- ↑ Express Applications. Website von Express.js. Abgerufen am 2. Juni 2015.