Zum Inhalt springen

„Express.js“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K zus. 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 = [[CC BY-SA 3.0 US]]
|Lizenz =
|Deutsch =
|Deutsch =
|Website = [http://expressjs.com/ expressjs.com]
|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 |archiv-bot=2018-04-09 06:42:54 InternetArchiveBot }}. Website von Express.js. Abgerufen am 2. Juni 2015.</ref>
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 ==


* [http://expressjs.com/ Offizielle Website]
* [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
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]

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]

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

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

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, 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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. Release 5.1.0. 31. März 2025 (abgerufen am 10. April 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)