Node.js dla początkujących - Część 13: Pierwszy serwer http

1/18/2025 Kurs JavaScript

Mateusz Kędziora

code on screen

Express.js to framework do tworzenia aplikacji internetowych w Node.js. Jest to lekki i elastyczny framework, który ułatwia tworzenie serwerów HTTP. Express.js zapewnia wiele funkcji, takich jak:

  • Routing: pozwala na mapowanie żądań HTTP na określone funkcje.
  • Middleware: pozwala na przetwarzanie żądań i odpowiedzi HTTP przed i po ich dotarciu do funkcji obsługi żądań.
  • Widoki: pozwala na renderowanie stron internetowych za pomocą szablonów.

Jak zainstalować Express.js?

Aby zainstalować Express.js, należy użyć menedżera pakietów npm lub yarn. Można to zrobić, wykonując następujący polecenie:

npm install express

lub

yarn add express

Jak stworzyć prosty serwer HTTP w Node.js za pomocą Express.js?

Aby stworzyć prosty serwer HTTP w Node.js za pomocą Express.js, należy wykonać następujące kroki:

  1. Zainstaluj pakiet Express.js.
  2. Utwórz nowy plik JavaScript o nazwie app.js.
  3. Zaimportuj moduł Express.js.
  4. Utwórz instancję aplikacji Express.js.
  5. Zdefiniuj trasę.
  6. Uruchom serwer.

Oto przykładowy kod, który tworzy prosty serwer HTTP, który odpowiada na żądanie GET na adresie / z tekstem “Hello, World!”:

const express = require('express');

const app = express();

app.get('/', (req, res) => {
  res.send('Hello, World!');
});

app.listen(3000, () => {
  console.log('Serwer uruchomiony na porcie 3000.');
});

Obsługa żądań i odpowiedzi

W powyższym przykładzie kod app.get() definiuje trasę dla żądań GET na adresie /. Funkcja obsługi żądań jest wywoływana, gdy żądanie jest odebrane. Funkcja obsługi żądań przyjmuje dwa argumenty:

  • req: obiekt Request, który zawiera informacje o żądaniu.
  • res: obiekt Response, który pozwala na wysyłanie odpowiedzi.

W powyższym przykładzie kod res.send() wysyła odpowiedź z tekstem “Hello, World!”.

Routing

Routing pozwala na mapowanie żądań HTTP na określone funkcje. W powyższym przykładzie kod app.get() definiuje trasę dla żądań GET na adresie /. Można również definiować trasy dla innych metod HTTP, takich jak POST, PUT i DELETE.

Middleware

Middleware to funkcje, które są wywoływane przed i po dotarciu żądania do funkcji obsługi żądań. Middleware może być używane do wykonywania różnych zadań, takich jak:

  • Parsowanie żądań.
  • Autoryzacja użytkowników.
  • Logowanie żądań.

Przykładowa aplikacja Express.js

Oto przykładowa aplikacja Express.js, która obsługuje żądania GET na adresach /, /about i /contact:

const express = require('express');

const app = express();

// Middleware do parsowania JSON
app.use(express.json());

// Middleware do parsowania danych z formularzy (x-www-form-urlencoded)
app.use(express.urlencoded({ extended: true })); // extended: true pozwala na parsowanie danych zagnieżdżonych

app.get('/', (req, res) => {
  res.send('Strona główna');
});

app.get('/about', (req, res) => {
  res.send('O mnie');
});

app.get('/contact', (req, res) => {
  res.send('Kontakt');
});

// Obsługa metody POST
app.post('/submit', (req, res) => {
  console.log('Otrzymano żądanie POST');
  console.log('Dane z żądania:', req.body); // Wyświetlanie danych z ciała żądania

  // Przykładowa odpowiedź serwera
  res.send('Dane zostały odebrane: ' + JSON.stringify(req.body)); //wysyłamy dane z powrotem do klienta w formacie JSON
  // lub
  // res.send(`Otrzymałeś: Imię: ${req.body.imie}, Nazwisko: ${req.body.nazwisko}`); // przykład dla danych z formularza z polami imie i nazwisko
});

app.listen(3000, () => {
  console.log('Serwer uruchomiony na porcie 3000.');
});

Podsumowanie

Express.js to popularny framework do tworzenia aplikacji internetowych w Node.js. Jest to lekki i elastyczny framework, który ułatwia tworzenie serwerów HTTP. W tym artykule pokazałem, jak stworzyć prosty serwer HTTP w Node.js za pomocą Express.js.

Zadanie domowe

Spróbuj stworzyć własną aplikację Express.js, która obsługuje żądania GET na różnych adresach. Możesz na przykład stworzyć aplikację, która wyświetla listę Twoich ulubionych filmów lub piosenek.

Dodatkowe zasoby

Mam nadzieję, że ten artykuł był pomocny. Jeśli masz jakieś pytania, proszę zostawić komentarz poniżej.

Polecane artykuły