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

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:
- Zainstaluj pakiet Express.js.
- Utwórz nowy plik JavaScript o nazwie
app.js
. - Zaimportuj moduł Express.js.
- Utwórz instancję aplikacji Express.js.
- Zdefiniuj trasę.
- 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
Docker vs Kubernetes: Który dla Ciebie w 2025?
Docker i Kubernetes objaśnione! Która technologia lepsza dla początkujących w 2025? Porównanie, przykłady i przyszłość.
Mateusz Kędziora
DevOps: Automatyzacja zadań sysadmina dla programistów
Zautomatyzuj pracę sysadmina w środowisku DevOps! Praktyczne przykłady, skrypty, Ansible, Terraform, Prometheus i Grafana.
Mateusz Kędziora
Automatyzacja Linux/macOS z Bash: Praktyczny Przewodnik
Zacznij automatyzować system Linux/macOS z Bash! Dowiedz się, czym jest Bash, jak pisać skrypty i używać podstawowych komend.
Mateusz Kędziora