zurück zum Artikel

Einführung in Node.js, Folge 5: Middleware

the next big thing

Express enthält die Basisfunktionen für das Entwickeln von Web-APIs[1]. Zum Erweitern der Funktionalität kennt Express das Konzept der Middleware, die Cross-Cutting-Concerns behandelt. Einige der verfügbaren Middleware-Module benötigt man immer wieder, unter anderem für Cookies und Session-Handling – ein Überblick.

Middleware ist nichts anderes als eine Funktion, die eine gewisse Signatur aufweist und von Express für jeden eingehenden Request aufgerufen wird. Dementsprechend leicht fällt es, Middleware selbst zu schreiben. Doch warum regelmäßig das Rad neu erfinden?

Einführung in Node.js

Express enthält serienmäßig bereits die Middleware static[6], mit der sich statische Dateien ausliefern lassen. In der npm-Registry finden sich zahllose weitere Module, unter anderem zum Parsen des Request-Bodys, für das Verwalten von Cookies und Sessions oder für sicherheitsrelevante Belange.

Dementsprechend mühsam ist es zunächst, für ein bestimmtes Szenario die passende Middleware zu finden. Im Alltag zeigt sich aber rasch, dass man auf gewisse Module regelmäßig zurückgreift. Welche das sind und wie sie funktionieren, zeigt das folgende Video:

tl;dr: Es gibt zahlreiche Middleware-Module für Express, die die Cross-Cutting-Concerns einer Anwendung adressieren. Dazu zählen static[7], body-parser[8], cookie-parser[9], express-session[10], cors[11], lusca[12] und nocache[13].


URL dieses Artikels:
http://www.heise.de/-3617696

Links in diesem Artikel:
[1] https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-4-Web-APIs-entwickeln-3609703.html
[2] https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-1-Node-js-installieren-3595787.html
[3] https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-2-Erste-Schritte-3596356.html
[4] https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-3-Module-verwenden-3601970.html
[5] https://www.heise.de/developer/artikel/Einfuehrung-in-Node-js-Folge-4-Web-APIs-entwickeln-3609703.html
[6] https://github.com/expressjs/serve-static
[7] https://www.npmjs.com/package/serve-static
[8] https://www.npmjs.com/package/body-parser
[9] https://www.npmjs.com/package/cookie-parser
[10] https://www.npmjs.com/package/express-session
[11] https://www.npmjs.com/package/cors
[12] https://www.npmjs.com/package/lusca
[13] https://www.npmjs.com/package/nocache