Node.js, Express i MongoDB

dla osób, które chcą poznać platformę Node.js, bazę danych MongoDB oraz framework Express
4.51 (713 reviews)
Udemy
platform
Polski
language
Web Development
category
Node.js, Express i MongoDB
5 027
students
24 hours
content
Apr 2024
last update
$19.99
regular price

Why take this course?

Ćwiczenie: Tworzenie prostego serwera HTTP w Node.js

W tym ćwiczeniu przeprowadzimy prostą konfigurację serwera HTTP w Node.js, korzystając z modułu http dostępnego w standardowej bibliotece Node.js. Po krok po kroku stworzymy aplikację, która będzie odpowiadać na żądania HTTP w wierszu poleceń.

Krok 1: Wymagane narzędzia i biblioteki

Upewnij się, że masz zainstalowane Node.js i npm (Node Package Manager). Możesz sprawdzić, czy Node.js jest zainstalowany, uruchomioną konsolę wpisując node -v i sprawdzając wersję Node.js. Następnie upewnij się, że npm jest zainstalowany poprzez npm -v.

Krok 2: Utworzenie projektu

Utwórz nowy katalog na swojem dyskcie i przesuń do niego w wierszu poleceń. Następnie inicjalizuj nowy projekt Node.js używając npm:

mkdir my-http-server
cd my-http-server
npm init -y

Krok 3: Instalacja i uruchomienie serwera HTTP

Zainstaluj moduł http korzystając z npm:

npm install http

Następnie utwórz plik o nazwie server.js w katalogu projektu i dodaj do niego poniższy kod, który tworzy podstawowy serwer HTTP:

const http = require('http'); // Import modułu http

const hostname = '127.0.0.1'; // Adres IP, na którym serwer będzie dostępny (lokalnie)
const port = 3000; // Port, na którym serwer będzie słuchać

const server = http.createServer((req, res) => { // Tworzymy serwer
  res.statusCode = 200; // Ustawiamy kod statusu HTTP 200 (OK)
  res.setHeader('Content-Type', 'text/plain'); // Ustawiamy typ treści
  res.end('Hello World!\n'); // Wysylamy proste powitaliny
});

server.listen(port, hostname, () => { // Serwer słucha na podanym porcie i adresie IP
  console.log(`Server running at http://${hostname}:${port}/`);
});

Uruchom serwer, uruchamiając powyższy skrypt z wiersza poleceń:

node server.js

Widzisz komunikat Server running at http://127.0.0.1:3000/ w konsoli. Oznacza to, że serwer HTTP jest uruchomiony i słucha na porcie 3000.

Krok 4: Testowanie serwera

Otwórz przeglądarkę internetową i weź wpisz http://127.0.0.1:3000/. Powinieneś zobaczyć tekst "Hello World!" w odpowiedzi.

Krok 5: Rozbudowa o obsługę różnych metod HTTP i przekazywanie dynamicznego treści

Możesz rozbudować serwer, aby obsługiwać inne metody HTTP (GET, POST, PUT, DELETE) oraz aby przekazywał różne tresty w zależności od żądania. Przykład obsługi GET metody:

server.on('request', (req, res) => {
  if (req.method === 'GET') { // Sprawdzamy, czy to żądanie GET
    const message = 'Hello ' + req.url.split('/')[1] + '!'; // Personalizujemy odpowiedź na podstawie ścieżki żądania
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end(message);
  } else {
    res.writeHead(405, { 'Content-Type': 'text/plain' });
    res.end('Method ' + req.method + ' not allowed!');
  }
});

Teraz jeśli weź w przeglądarce http://127.0.0.1:3000/JohnDoe, otrzymasz personalizowaną odpowiedź "Hello John Doe!".

Krok 6: Wersja z użyciem Express.js (opcjonalny)

Express.js to bardzo popularna i potężna framework na Node.js, który upraszcza tworzenie serwerów HTTP i API. Możesz zainstalować ją w swoim projekcie:

npm install express --save

A następnie utworzyć podobny serwer, ale z wykorzystaniem Express.js:

const express = require('express'); // Import modułu express
const app = express(); // Tworzymy aplikację Express
const port = 3001; // Rozsądzamy na innym porcie niż w poprzednim przypadku

app.get('/', (req, res) => { // Definiujemy rutę dla metody GET
  res.send('Hello from Express!');
});

app.get('/:name', (req, res) => { // Definiujemy rutę z parametrem
  const message = 'Hello ' + req.params.name + '!';
  res.send(message);
});

app.listen(port, () => {
  console.log(`Express server running at http://localhost:${port}/`);
});

Uruchom ten serwer na porcie 3001 i testuj go w przeglądarce, podobnie jak poprzedni.

Tym samym sposobem możesz rozbudować serwer o obsługę POST, PUT i DELETE metod HTTP oraz o złożone routingi, filtry, middleware'y i wielu innych funkcji dostępnych w Express.js.


Uwaga: W poniższych miesiącach do tego kursu dodajemy jeszcze bardziej zaawansowane tematy, takie jak pracowa z bazą danych MongoDB, tworzenie interfejsów API RESTful oraz wykorzystanie ramki Express.js w celu budowy pełnoprawnych aplikacji webowych i API. Zapraszam do dalszej eksploracji tych tematów!

Loading charts...

2330558
udemy ID
20/04/2019
course created date
29/10/2019
course indexed date
Bot
course submited by