Express.js
Express.js to minimalistyczny i elastyczny framework webowy dla środowiska Node.js, który upraszcza tworzenie serwerów HTTP, interfejsów API oraz aplikacji internetowych po stronie backendu. Uchodzi za de facto standard budowy aplikacji serwerowych w ekosystemie JavaScript i stanowi bazę wielu popularnych stosów technologicznych. Jego siłą jest prostota — dostarcza tylko niezbędny szkielet, pozostawiając programiście pełną swobodę w doborze reszty narzędzi.
Na czym polega Express.js?
Express nadbudowuje nad wbudowanym w Node.js modułem HTTP wygodną warstwę, opartą na dwóch filarach:
- Routing — mapowanie metod HTTP (GET, POST, PUT, DELETE) i ścieżek URL na funkcje obsługujące żądania, co pozwala w czytelny sposób zdefiniować, jak serwer reaguje na kolejne endpointy.
- Middleware — łańcuch funkcji pośredniczących, przez które przechodzi każde żądanie, zanim trafi do docelowej obsługi. Middleware odpowiada m.in. za uwierzytelnianie, logowanie, parsowanie treści żądania czy obsługę błędów.
Ta architektura sprawia, że aplikacja Express to seria kolejno wywoływanych warstw, które można dowolnie komponować. Framework nie narzuca struktury projektu ani warstwy bazodanowej — programista sam decyduje, czy podłączyć MongoDB, PostgreSQL czy inne rozwiązanie.
Zastosowanie w praktyce
Express najczęściej wykorzystuje się do budowy interfejsów REST API zasilających aplikacje frontendowe i mobilne, mikroserwisów oraz warstwy serwerowej aplikacji jednostronicowych. Jest też fundamentem popularnych stosów, w których łączy się go z bazą danych, silnikiem szablonów lub warstwą uwierzytelniania opartą na tokenach. Aby uruchomić aplikację Express w produkcji, potrzebny jest serwer z zainstalowanym środowiskiem Node.js — najczęściej VPS lub serwer dedykowany, na którym proces aplikacji działa w sposób ciągły, zwykle za pośrednictwem menedżera procesów pilnującego restartu po awarii i serwera proxy odpowiadającego za szyfrowanie ruchu oraz równoważenie obciążenia.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się Express.js od Node.js?
Node.js to środowisko uruchomieniowe, które pozwala wykonywać JavaScript po stronie serwera i dostarcza niskopoziomowe moduły, m.in. do obsługi HTTP. Express.js to biblioteka działająca na Node.js, która nadbudowuje nad tymi modułami wygodną warstwę: routing, middleware i obsługę żądań. Node to fundament, Express — nakładka upraszczająca budowę serwera.
