Express.js tutorial: zbuduj serwer Node krok po kroku

Express.js tutorial

Express.js tutorial: trasy, middleware, JSON, Express 5 | We.Inc

Zbuduj serwer Express 5 krok po kroku: trasy, middleware, body JSON, pliki statyczne i obsługa błędów, a do tego generator serwera startowego i zmiany z wersji 4 do 5.

Express to mały framework webowy dla Node.js. Zainstaluj go przez npm install express, utwórz aplikację przez express(), dodaj trasy, takie jak app.get('/', handler), i uruchom ją przez app.listen(3000). Middleware, takie jak express.json(), działa przed Twoimi trasami, a handler błędów z czterema argumentami dodajesz na końcu.

Klocki Express

Większość tutoriali o Express nadal pokazuje kod z wersji 4, który nie działa lub generuje ostrzeżenia w wersji 5, a ta jest teraz instalowana domyślnie. Ten przewodnik w całości używa Express 5, generuje serwer startowy z zaznaczonymi przez Ciebie częściami i kończy się tabelą zmian, na których ludzie się potykają przy aktualizacji starszego projektu.

Najczęściej zadawane pytania

Jakiej wersji Node.js potrzebuje Express 5?

Express 5 wymaga Node.js 18 lub nowszego. Jeśli musisz zostać przy starszym Node, używaj Express 4, dopóki nie zaktualizujesz środowiska.

Dlaczego req.body jest undefined?

Dla tego żądania nie zadziałał żaden parser body. Dodaj przed trasami app.use(express.json()) dla JSON lub express.urlencoded() dla formularzy i upewnij się, że klient wysyła pasujący nagłówek Content-Type. W Express 5 nieprzetworzone body to undefined, a nie pusty obiekt.

Jak napisać trasę przechwytującą wszystko w Express 5?

Wildcardy muszą mieć teraz nazwę. Użyj app.get('/*splat', handler) zamiast '/*'. Aby dopasować także ścieżkę główną, otocz go nawiasami klamrowymi: '/{*splat}'.

Co robi next()?

Przekazuje żądanie do następnego pasującego middleware lub trasy. Wywołaj next(), aby kontynuować, next(err), aby przeskoczyć do handlerów błędów, albo wyślij odpowiedź, aby zatrzymać łańcuch. Jeśli zapomnisz o obu, żądanie zawiśnie.

Czy nadal używać body-parser?

Nie dla JSON i danych formularzy. express.json() i express.urlencoded() są wbudowane. Pamiętaj, że w Express 5 opcja extended parsera urlencoded ma domyślnie wartość false.

Trasy i parametry

Middleware w jednym akapicie

Utworzenie projektu

Instalacja i uruchomienie

Utwórz folder, zainicjuj package.json, oznacz go jako projekt ES module i zainstaluj Express.

Trasy we własnym pliku

Router to mini aplikacja. Zamontuj go pod prefiksem, aby każda ścieżka w środku była względem niego.

Błędy async trafiają do handlera błędów

W Express 5 odrzucona obietnica w trasie jest przekazywana za Ciebie. Handler z czterema argumentami, zarejestrowany na końcu, zamienia ją w odpowiedź.

Express 4 do 5: co się zmieniło

Express udostępnia codemody dla wielu z tych zmian: npx codemod@latest @expressjs/v5-migration-recipe.

Kod z Express 4 i jego zamiennik w Express 5

Generator serwera startowego

Format modułów

ES modules (import)

CommonJS (require)

Uwzględnij

Parsowanie body JSON

Pliki statyczne z public/

Przykładowe trasy z parametrem URL

Odpowiedź 404 dla nieznanych ścieżek

Handler błędów

Port

Zacznij za darmo · Bez karty kredytowej

Powiązane: Poradniki

Produkt

Dla kogo

Funkcje

Zasoby

Firma

Mapa strony