„Express.js“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
Acky69 (Diskussion | Beiträge) K zus. Links Markierung: Begriffsklärungsseiten-Links |
Archivlink überprüft, Weblink aktualisiert (https) |
||
(3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 14: | Zeile 14: | ||
|Programmiersprache = [[JavaScript]] |
|Programmiersprache = [[JavaScript]] |
||
|Kategorie = [[Webframework]] |
|Kategorie = [[Webframework]] |
||
|Lizenz = |
|Lizenz = |
||
|Deutsch = |
|Deutsch = |
||
|Website = [ |
|Website = [https://expressjs.com/ expressjs.com] |
||
}} |
}} |
||
Zeile 22: | Zeile 22: | ||
== 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 [[Model View Controller|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. 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> |
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.<ref name="routing">[http://expressjs.com/guide/routing.html ''Express routing'']. Website von Express.js. Abgerufen am 2. Juni 2015</ref> |
||
Zeile 66: | Zeile 66: | ||
== Projekte == |
== Projekte == |
||
Projekte, die mit Express realisiert wurden:<ref>{{Webarchiv|text=''Express Applications'' |url=http://expressjs.com/resources/applications.html |wayback=20150508210036 |
Projekte, die mit Express realisiert wurden:<ref>expressjs.com: {{Webarchiv|text=''Express Applications'' |url=http://expressjs.com/resources/applications.html |wayback=20150508210036 }} (englisch)</ref> |
||
* [[Myspace]] |
* [[Myspace]] |
||
* LearnBoost |
* LearnBoost |
||
Zeile 89: | Zeile 89: | ||
== Literatur == |
== Literatur == |
||
* [http://hsr-ba-ajw-2013.github.io/BA-Dokumentation/thesis.pdf Bachelorarbeit: ''Architekturkonzepte moderner Web-Applikationen''] (PDF, 9 MB, 14. Juni 2013) |
|||
* [https://www.packtpub.com/web-development/mastering-web-application-development-express ''Mastering Web Application Development with Express''] ISBN 9781783981083 |
* [https://www.packtpub.com/web-development/mastering-web-application-development-express ''Mastering Web Application Development with Express''] ISBN 9781783981083 |
||
* [http://www.manning.com/hahn/ ''Manning: Express.js in Action''] ISBN 9781617292422 |
* [http://www.manning.com/hahn/ ''Manning: Express.js in Action''] ISBN 9781617292422 |
||
Zeile 97: | Zeile 96: | ||
== Weblinks == |
== Weblinks == |
||
* [ |
* [https://expressjs.com/ Offizielle Website] ({{enS}}) |
||
== Einzelnachweise == |
== Einzelnachweise == |
Aktuelle Version vom 22. April 2025, 13:42 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[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 | Quelltext 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 | Quelltext bearbeiten]app.js
[Bearbeiten | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext 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 | Quelltext bearbeiten]- 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
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ 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.
- ↑ 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.
- ↑ expressjs.com: Express Applications ( vom 8. Mai 2015 im Internet Archive) (englisch)