Pokažem ti: postavitev strežnika
Express je najbolj priljubljen paket za gradnjo strežnikov v Node.js – delo spravi v nekaj vrstic. Strežnik je ločen projekt, ločen od React aplikacije (spomni se: frontend in backend sta dve polovici). V terminalu:
cd Desktop
mkdir my-server
cd my-server
npm init -y
npm install express
mkdirustvari mapo (make directory),npm init -ypostavi nov Node.js projekt (ustvaripackage.json),npm install expressprenese Express.
Odpri mapo v VS Code in ustvari datoteko server.js:
const express = require("express");
const app = express();
// When someone sends a GET to /api/hello, respond
app.get("/api/hello", (request, response) => {
response.json({ message: "Hi! This is your own server. 🎉" });
});
app.listen(3900, () => {
console.log("Server running at http://localhost:3900");
});
Zaženi:
node server.js
In v brskalniku odpri http://localhost:3900/api/hello. Vidiš JSON odgovor? Pravkar si zgradil strežnik. Brez magije – 10 vrstic.
Kaj se dogaja v kodi:
require("express")– izposodi paket (strežniška različicaimport).app.get("/api/hello", ...)– “odgovori na GET zahteve na tem naslovu.” Par naslov + odgovor se imenuje endpoint.response.json({...})– pošlje nazaj JSON.app.listen(3900)– poslušaj na vratih 3900. (Vite teče na 3901, strežnik na 3900 – dva programa ne moreta poslušati na istih vratih.)
Strežnik ustaviš s Ctrl+C. Pazljivo: po vsaki spremembi kode ga moraš ustaviti in znova zagnati – strežnik ni Vite, se ne osvežuje sam.
Pokažem ti: strežnik s podatki
Strežnik običajno izdaja podatke. Dodaj drugi endpoint nad listen:
const results = [
{ opponent: "Lakeside", score: "3:1", home: true },
{ opponent: "Northgate", score: "2:2", home: false },
{ opponent: "Elmwood", score: "4:0", home: true },
];
app.get("/api/results", (request, response) => {
response.json(results);
});
Znova zaženi strežnik in odpri http://localhost:3900/api/results – tvoji podatki, servirani prek API-ja. Tako deluje vsaka velika spletna stran (le z bazo podatkov namesto polja).
Zdaj si na vrsti 💪
- Po navodilih zaženi strežnik.
- Dodaj endpoint s podatki iz tvojega projekta: 🏫
/api/menu(polje obrokov za teden) · 🙋/api/favorites(najljubše igre/knjige) · 🌍/api/trips(seznam potovanj) · ⚽/api/results(rezultati tekem). - Dodaj igriv endpoint
/api/random, ki vsakič vrne drugačno sporočilo:
const messages = ["We're winning today!", "Practice at 5 PM!", "Let's go, Eagles!"];
app.get("/api/random", (request, response) => {
const random = messages[Math.floor(Math.random() * messages.length)];
response.json({ message: random });
});
- Preizkusi vse endpointe v brskalniku – nato enega pokliči z
fetch()iz konzole, kot si se naučil v prejšnji lekciji.
“Cannot GET /api/…” pomeni, da endpoint ne obstaja – preveri tipkarsko napako v naslovu in ali si po spremembi znova zagnal strežnik. “EADDRINUSE” pomeni, da so vrata 3900 zasedena – verjetno še teče stari strežnik v drugem terminalu; najdi ga in ustavi (Ctrl+C).
Preveri se: Tvoj strežnik teče na vratih 3900 in odgovarja na več endpointov z lastnimi JSON podatki. Poznaš frontend, začenjaš backend – ostane ju povezati. To naredimo v naslednji lekciji s knjigo obiskovalcev.
Kaj si vzameš iz te lekcije
- Strežnik v Express:
npm init -y,npm install express,node server.js, ustavi s Ctrl+C, po vsaki spremembi znova zaženi. - Endpoint = naslov + odgovor:
app.get("/api/kaj", (request, response) => response.json(...)). - Frontend (3901) in backend (3900) sta dva programa na dveh vratih.
© 2026 Ing. Martin Polak / AlgoRhino · Pogoji uporabe vsebine