„Express.js“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K Refs zusammengefasst |
K Refs zusammengefasst |
||
Zeile 19: | Zeile 19: | ||
}} |
}} |
||
'''Express.js''' ist ein [[Client-Server-Modell|serverseitiges]] [[Webframework]] für die [[JavaScript]]-basierte Plattform [[Node.js]]. Es erweitert Node.js um Werkzeuge, mit denen das Entwickeln moderner [[Webanwendung]]en einfacher gestaltet wird.<ref>[http://www.manning.com/hahn/ Evan Hahn: ''Express.js in Action'']</ref> |
'''Express.js''' ist ein [[Client-Server-Modell|serverseitiges]] [[Webframework]] für die [[JavaScript]]-basierte Plattform [[Node.js]]. Es erweitert Node.js um Werkzeuge, mit denen das Entwickeln moderner [[Webanwendung]]en einfacher gestaltet wird.<ref name="Hahn">[http://www.manning.com/hahn/ Evan Hahn: ''Express.js in Action'']</ref> |
||
== Architektur == |
== Architektur == |
||
Eine Express.js-Anwendung besteht zumindest aus der [[Datei]] ''app.js'', in welcher [[Middleware]] und Controller registriert und der [[Webserver]] gestartet wird.<ref name="thesis.pdf">[http://hsr-ba-ajw-2013.github.io/BA-Dokumentation/thesis.pdf Alabor Manuel, Joly Alexandre und Weibel Michael: ''Architekturkonzepte moderner web-applikationen'']</ref> |
Eine Express.js-Anwendung besteht zumindest aus der [[Datei]] ''app.js'', in welcher [[Middleware]] und Controller registriert und der [[Webserver]] gestartet wird.<ref name="thesis.pdf">[http://hsr-ba-ajw-2013.github.io/BA-Dokumentation/thesis.pdf Alabor Manuel, Joly Alexandre und Weibel Michael: ''Architekturkonzepte moderner web-applikationen'']</ref> |
||
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 [[Middleware|neutrales Programm]]. Für die Zuweisung zwischen Anfrage und ''Requesthandler'' stellt Express.js Weiterleitungs-Werkzeuge zur Verfügung.<ref>[http://expressjs.com/guide/routing.html ''Express routing'']. Website von Express.js. Abgerufen am 2. Juni 2015</ref> |
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 [[Middleware|neutrales Programm]]. Für die Zuweisung zwischen Anfrage und ''Requesthandler'' stellt Express.js Weiterleitungs-Werkzeuge zur Verfügung.<ref name="routing">[http://expressjs.com/guide/routing.html ''Express routing'']. Website von Express.js. Abgerufen am 2. Juni 2015</ref> |
||
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 Prozesses einschieben.<ref name="thesis.pdf" /> |
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 Prozesses einschieben.<ref name="thesis.pdf" /> |
||
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, [[AngularJS|Angular.js]] und [[Node.js]].<ref |
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, [[AngularJS|Angular.js]] und [[Node.js]].<ref name="Hahn" /> |
||
== Beispiele == |
== Beispiele == |
||
Zeile 43: | Zeile 43: | ||
=== router.js === |
=== router.js === |
||
Dieser Code weist der Anfrage <code>‘/’</code> einen ''Requesthandler'' zu.<ref |
Dieser Code weist der Anfrage <code>‘/’</code> einen ''Requesthandler'' zu.<ref name="routing" /> |
||
<syntaxhighlight lang="javascript"> |
<syntaxhighlight lang="javascript"> |
||
const express = require('express') |
const express = require('express') |
Version vom 18. August 2018, 14:50 Uhr
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 |
Programmiersprache | JavaScript |
Kategorie | Webframework |
Lizenz | MIT-Lizenz |
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.[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 Prozesses einschieben.[5]
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.[4]
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.[6]
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.[7] 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:[8]
- Myspace
- LearnBoost
- Storify
- Geekli.st
- Klout
- Prismatic
- StudyNotes
- Persona
- Countly
- Segment.io
- Yummly
- Koding
- Apiary.io
- Cozy
- FlyLatex
- SimpleSet
- Ghost
- LogHuman
- VogueVerve
- Glip
Literatur
- Bachelorarbeit: Architekturkonzepte moderner Web-Applikationen (PDF, 9 MB)
- 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
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).
- ↑ 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.
- ↑ Express Applications ( des 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. . Website von Express.js. Abgerufen am 2. Juni 2015.