Fiszki Express.js

Category sponsor

Express.js to szybki, elastyczny i minimalistyczny framework webowy dla Node.js. Oferuje solidny zestaw funkcji do budowania aplikacji internetowych i API, w tym routing, obsługę middleware, silniki szablonów oraz narzędzia do pracy z HTTP. Express.js stał się standardem de facto w rozwoju webowym Node.js dzięki prostocie, elastyczności i bogatemu ekosystemowi middleware. Umożliwia tworzenie zarówno prostych REST API, jak i złożonych aplikacji webowych. Express.js zaprojektowano jako minimalistyczny i elastyczny, co czyni go idealnym wyborem dla programistów pragnących pełnej kontroli nad architekturą aplikacji przy jednoczesnym korzystaniu z solidnych fundamentów.

Nasza aplikacja zawiera starannie dobrane pytania rekrutacyjne z Express.js wraz z wyczerpującymi odpowiedziami, które kompleksowo przygotują Cię do rozmowy wymagającej znajomości tego frameworka. IT Flashcards to nie tylko pomoc dla osób szukających pracy - to doskonałe narzędzie do utrwalania i weryfikacji wiedzy. Regularne korzystanie z aplikacji pozwoli Ci być na bieżąco z najnowszymi trendami w backendzie Node.js i utrzymać umiejętności w budowaniu skalowalnych aplikacji serwerowych.

Przykładowe fiszki Express.js z naszej aplikacji

Pobierz naszą aplikację w App Store lub Google Play, aby uzyskać więcej darmowych fiszek lub subskrybuj dostęp do wszystkich fiszek.

Express.js

Czym jest middleware w Express.js?

Middleware w Express.js to funkcje, które mają dostęp do obiektu żądania (req), obiektu odpowiedzi (res) i do kolejnej funkcji middleware (next) w cyklu życia żądania. Middleware to kluczowe elementy struktury aplikacji i API w Express.js.

Funkcje middleware mogą wykonywać następujące czynności:
- Wykonywanie dowolnego kodu.
- Dokonywanie zmian w żądaniu i obiekcie odpowiedzi.
- Kończenie cyklu żądania-odpowiedzi.
- Wywoływanie następnej funkcji middleware w stosie.

Jeżeli bieżąca funkcja middleware nie zakończy cyklu żądania-odpowiedzi, musi wywołać `next()`, aby przechodzić do kolejnej funkcji middleware. W przeciwnym razie żądanie pozostanie zawieszone.

Express.js

Jakie znaczenie ma parametr next w middleware Express.js?

Parametr **next** w middleware w Express.js jest funkcją, która, gdy jest wywoływana, przenosi wywołanie do następnego middleware w stosie.

Jeśli funkcja middleware nie kończy cyklu żądania-odpowiedzi, musi wywołać `next()`, aby przenieść sterowanie do następnej funkcji middleware. W przeciwnym razie żądanie pozostanie zawieszone.

Zasada działania `next()` jest dosyć prosta: Gdy `next()` jest wywołane, wykonanie przechodzi do następnego middleware w danym poziomie.

Przykładowy kod z wykorzystaniem funkcji next:
app.use((req, res, next) => {
    console.log('Pierwszy middleware');
    next();
});

app.use((req, res, next) => {
    console.log('Drugi middleware');
    res.end();
});

W powyższym przykładzie, po otrzymaniu żądania, pierwszy middleware wywołuje `console.log`, a następnie `next()`, który przenosi sterowanie do drugiego middleware. W drugim middleware wywołujemy `res.end()`, kończąc cykl żądania-odpowiedzi.

Funkcję `next()` można również wywołać z błędem, co spowoduje przejście do następnego middleware obsługi błędów:
app.use((req, res, next) => {
    console.log('Pierwszy middleware');
    next(new Error('Błąd'));
});

app.use((err, req, res, next) => {
    console.error(err.stack)
    res.status(500).send('Błąd serwera!')
});

W powyższym przykładzie, po otrzymaniu żądania, pierwszy middleware tworzy nowy błąd i przekazuje go do `next()`, który przechodzi do następnego middleware, który obsługuje błędy. Middleware, który obsługuje błędy, loguje błąd i zwraca odpowiedź do użytkownika.

Express.js

Jak zdefiniować statyczne pliki w Express.js?

Express.js jest wysoce konfigurowalnym frameworkiem Node.js stworzonym, aby ułatwić tworzenie serwerów www. Pozwala na łatwe definiowanie statycznych plików do rozszerzenia funkcji serwera.

Definiowanie statycznych plików w Express.js jest proste. Wykorzystamy do tego wbudowaną funkcję middleware **express.static()**.

Aby zdefiniować statyczne pliki, musimy najpierw zaimportować express, a następnie zastosować funkcję express.static() z ścieżką do katalogu, który chcemy udostępnić. Zazwyczaj jest to katalog 'public' w głównym katalogu aplikacji.
const express = require('express');
    const app = express();

    app.use(express.static('public'));

W powyższym kodzie, express.static('public') mówi serwerowi Express, aby udostępnił zawartość katalogu 'public' jako statyczne pliki. Po zdefiniowaniu tych plików, będą one dostępne bezpośrednio z głównego URL.

W praktyce oznacza to, że jeśli mamy plik `index.html` w katalogu `public`, będzie on dostępny pod adresem `http://localhost:3000/index.html` (zakładając, że nasz serwer działa lokalnie na porcie 3000). Jeśli mamy plik `styles.css` w podkatalogu `css` w `public`, będzie on dostępny pod adresem `http://localhost:3000/css/styles.css` i tak dalej.

Express.js

Czym jest res.json() w Express.js i do czego służy?

Funkcja **res.json()** w Express.js służy do wysyłania odpowiedzi JSON do klienta. Jest to specjalna metoda dostępna na obiekcie odpowiedzi, który Express przekazuje do funkcji obsługi zapytania.

Nazwa "json" pochodzi od JavaScript Object Notation, co jest standardowym formatem do przekazywania danych w sieci. Metoda **res.json()** automatycznie konwertuje obiekt JavaScript lub wartość na JSON, a następnie wysyła go jako odpowiedź HTTP.

Dodatkowo, metoda ta ustawia odpowiedni nagłówek Content-Type dla odpowiedzi, informując klienta, że jest to odpowiedź JSON.

Oto przykładowy kod użycia **res.json()**:
app.get('/api/data', (req, res) => {
  const data = {
    id: 1,
    name: 'Test',
  };
  
  res.json(data);
});

W powyższym przykładzie, kiedy klient dokona żądania GET na '/api/data', Express.js zwróci odpowiedź JSON zawierającą obiekt data.

Pobierz IT Flashcards Teraz

Wzmocnij swoją podróż nauki IT dzięki najlepszej aplikacji z fiszkami. Od podstaw programowania po opanowanie zaawansowanych technologii, IT Flashcards to Twój paszport do doskonałości IT. Pobierz teraz i odkryj swój potencjał w dzisiejszym konkurencyjnym świecie techniki.

Strona główna Blog Sponsorzy Kontakt Privacy Policy Terms of Service

Copyright © 2025 IT Flashcards