Express-Modul

Was ist das Express-Modul?

Das Express-Modul ist ein Web-Framework für das schnelle und unkomplizierten Entwickeln von Webanwendungen und Webservices. Mit Hilfe des sog. HTTP-Routings können REST-Services entwickelt werden, bei denen über den Pfad-Teil der URL die HTTP-Methoden „GET“, „PUT“, „DELETE“ und „POST“ aufgerufen werden können:

Das Express-Modul installieren

Das Express-Modul ist nicht in der Standardinstallation von Node.js enthalten und muss mit „npm install express“ installiert werden:

Das Express-Modul verwenden

Server-Anfrage

Mit „app.get(‚/‘, function(req, res) {...})“ kann eine einfache Server-Anfrage realisiert werden. Dabei muss mit „app.listen(port, function() {...})“ zusätzlich der Port für die Serveranfrage angegeben werden:

JavaScript-Datei:

Kommandozeile:

Webbrowser:

Server-Informationen

Mit „var server = app.listen(port, function() {...})“ können über die Variable Informationen über den Server abgefragt werden:

JavaScript-Datei:

Kommandozeile:

Webbrowser:

HTTP-Routing

Mit Hilfe des HTTP-Routings können differenziertere Anfragen an den Server gestellt werden. Zum einen können mit „app.httpmethode(...)“ die verschiedenen HTTP-Methoden verwendet werden. Zum anderen kann mit „app.httpmethode(‚pfad‘, ...)“ über die Pfadangabe eine Anfrage weiter differenziert werden:

JavaScript-Datei:

Kommandozeile:

HTML-Datei:

Webbrowser:

GET-Methode

Wird in einem „form“-Element ein „submit“-Button betätigt, wird die URL im „action“-Attribut des „form“-Elements aufgerufen. Dabei wird der Inhalt der „input“-Elemente zusammen mit deren „name“-Attributen als Parameter an die URL angefügt. Auf der Serverseite kann dann mit „req.query“ auf alle Parameter und mit „req.query.parametername“ auf die einzelnen Werte zugegriffen werden:

JavaScript-Datei:

Kommandozeile:

HTML-Datei:

Webbrowser:

POST-Methode

Mit der POST-Methode ist der Ablauf wie mit der GET-Methode, nur dass hier die Parameter nicht sichtbar übertragen werden. Um die Parameter auf der Serverseite auslesen zu können muss dann die URL mit Hilfe des „body-parser“-Moduls dekodiert werden. Der Zugriff erfolgt dann über das „body“-Element anstatt über „query“:

JavaScript-Datei:

Kommandozeile:

HTML-Datei:

Webbrowser:

Server-Verzeichnis

Mit „app.use(express.static(‚verzeichnisname‘))“ kann auf ein Verzeichnis für die Node.js-Anwendung verwiesen werden. Dieses Verzeichnis kann z. B. für HTML-Dateien oder Bilddateien verwendet werden. Die entsprechende Datei kann dann mit „serveraufruf/dateiname“ geladen werden. In dem Server-Verzeichnis können auch beliebige Unterverzeichnisse angelegt werden:

JavaScript-Datei:

Kommandozeile:

HTML-Datei:

Webbrowser:

Datei-Upload

Mit „app.use(multer({dest: „/verzeichnisname/“}).any()“ kann ein temporäres Verzeichnis für den Datei-Upload definiert werden. Mit „req.files[index]“ kann auf die hochgeladenen Dateien zugegriffen werden. Im „form“-Element muss zusätzlich „enctype=“multipart/form-data“ angegeben werden:

JavaScript-Datei:

Kommandozeile:

HTML-Datei:

Webbrowser:

Datei-Explorer:


Quellen