Vezérlőpult
3. Node.js telepítése és beállítása · Backend elméleti alapok

Backend elméleti alapok · 3. tananyag

A Node.js telepítése és beállítása

Az iskolai gépeken a Node.js már telepítve van — otthon viszont neked kell feltenned, ha dolgozni akarsz a feladatokon. Ez a fejezet ehhez ad receptet Windowsra, macOS-re és Linuxra egyaránt, majd megmutatja azt a néhány parancsot, amit ezután minden nap használni fogsz.

2 tanóraGyakorlat-központúWindows · macOS · Linux

A fejezet végén tudni fogod

1Mit telepítünk pontosan?

Egyetlen telepítő három dolgot tesz a gépedre. Sokan azt hiszik, hogy az npm-et külön kell feltenni — nem kell, a Node.js hozza magával.

Node.js telepítő v24.20.0 LTS node a futtatókörnyezet — ő futtatja a JavaScript-fájljaidat npm a csomagkezelő — mások könyvtárait tölti le és tartja nyilván npx csomag futtatása állandó telepítés nélkül
1. ábra — Egy telepítő, három parancs. Ellenőrzés: node -v, npm -v, npx -v.
JÓ TUDNI

A Node.js 24.20.0 verzióhoz az npm 11.19.0 tartozik. Ha valahol azt olvasod, hogy „telepítsd az npm-et”, az szinte biztosan elavult útmutató.

2Melyik verziót válasszuk?

A Node.js verziószáma három részből áll: major.minor.patch — például 24.20.0. Ez a semver (semantic versioning) rendszer, és nemcsak a Node, hanem minden npm-csomag ezt használja.

RészMikor nő?Jelentése
major (24)Törő változásnálA régi kód elromolhat
minor (20)Új funkciónálVisszafelé kompatibilis
patch (0)HibajavításnálCsak javítás

LTS vagy Current?

idő → Node 22 „Jod” — LTS Node 23 — Current Node 24 „Krypton” — LTS ezt használjuk · v24.20.0 Node 25 — Current PÁROS FŐVERZIÓ → LTS Hosszú távon támogatott, stabil. Éles rendszer és tanulás — ezt válaszd. PÁRATLAN FŐVERZIÓ → CURRENT A legújabb funkciók, gyakori változás. Kísérletezéshez jó, éles szerverre nem.
2. ábra — Csak a páros főverziókból lesz LTS. A 24-es vonal a mostani választás.
FIGYELEM

Ha régebbi Node van a gépeden (például 18 vagy 20), a tananyag példái nagyrészt működni fognak, de néhány kényelmi funkció hiányozhat, és a Prisma 7 is újabb Node-ot igényel. Frissíts 24 LTS-re.

A verziószám előtti jelek — mit enged a ^?

Ez a jelölés a package.json-ban bukkan majd fel, a 8. szakaszban. Érdemes már most megérteni, mert ez dönti el, hogy egy npm install milyen verziót hozhat le:

"express": "^5.2.1" — „legalább 5.2.1, de a 6.0.0 már nem” ENGEDÉLYEZETT TILTOTT 5.2.1 ✓ 5.2.9 ✓ 5.3.0 ✓ 5.10.2 ✓ 5.99.99 ✓ 6.0.0 ✗ 5.2.0 ✗ (régebbi a megadottnál) A ~5.2.1 csak a patch-et engedné (5.2.x), a jel nélküli 5.2.1 pedig pontosan azt az egy verziót.
3. ábra — A ^ a főverzión belül enged frissíteni; a főverzió-váltás mindig kézi döntés.

3Telepítés lépésről lépésre

Válaszd ki a saját operációs rendszeredet — csak azt kell elolvasnod. Ha az iskolai gépen dolgozol, ez a szakasz kimaradhat: ott a környezet már készen áll, ugorj a 4. szakaszra.

A) Hivatalos telepítő — ez mindig működik

  1. Nyisd meg: https://nodejs.org
  2. Töltsd le az LTS gombra kattintva a Windows Installer (.msi) fájlt (64 bites).
  3. Indítsd el, és kattints végig: Next → licenc elfogadása → Next → Next.
  4. A „Tools for Native Modules” kérdésnél a jelölőnégyzetet hagyd üresen — ez több gigabájtnyi fordítóeszközt telepítene, amire nekünk nincs szükségünk.
  5. Install → Finish.
  6. Nyiss egy ÚJ terminálablakot (a régi még nem ismeri az új útvonalakat), és ellenőrizd a 4. szakasz parancsaival.
HA NEM TALÁLJA A PARANCSOT

Ha a node parancsra azt kapod, hogy „a 'node' nem ismerhető fel belső vagy külső parancsként”, akkor vagy nem indítottad újra a terminált, vagy a telepítés nem tette a PATH-ba. Első lépés: zárd be az összes terminálablakot és a VS Code-ot, majd nyisd meg újra.

B) winget — csak akkor, ha van a gépeden

A winget a Windows beépített csomagkezelője. Kényelmes, de nem minden Windowson létezik — ezért előbb ellenőrizd:

winget --version

Ha verziószámot kapsz (például v1.9.25200), használhatod:

winget install OpenJS.NodeJS.LTS

Ezután zárd be és nyisd meg újra a terminált.

FIGYELEM — „a 'winget' nem ismerhető fel…”

Ha ezt a hibát kapod, nem rontottál el semmit: ezen a gépen egyszerűen nincs telepítve a winget. Ez teljesen normális az alábbi esetekben:

  • Windows 10/11 Enterprise LTSC — ezekben nincs Microsoft Store, és a winget sem; sok iskolai és céges gépen pontosan ez fut;
  • Windows Server;
  • régebbi Windows 10-es build, amelyen nem frissült az App Installer csomag;
  • olyan felügyelt gép, ahol a rendszergazda letiltotta a Store-t.

Mit tegyél? Semmi különöset: használd az A) pontban leírt hivatalos telepítőt. A winget csak kényelmi eszköz — ugyanazt a Node.js-t telepíti, mint az .msi fájl, és a tananyag további részéhez semmilyen szükség nincs rá.

Haladóknak: mégis szeretném a wingetet — hogyan tehetem fel?

Először nézd meg, egyáltalán telepítve van-e a mögötte álló csomag (App Installer):

Get-AppxPackage -Name Microsoft.DesktopAppInstaller

Ha üres a válasz, a csomag hiányzik. Két út van:

  • Ha van Microsoft Store a gépen: keresd meg benne az App Installer alkalmazást, és telepítsd. Ezután a winget azonnal elérhető lesz.
  • Ha nincs Store (LTSC): a winget kézzel is telepíthető a fejlesztők hivatalos GitHub-oldaláról (microsoft/winget-cli) letöltött .msixbundle fájlból, az Add-AppxPackage paranccsal. Ehhez azonban több függőséget is fel kell tenni (VCLibs, UI.Xaml), és jellemzően rendszergazdai jog kell hozzá.
DE MINEK?

Iskolai gépen ne kezdj bele — nem is lesz hozzá jogod. Ez a tananyag egyetlen ponton sem igényli a wingetet: a hivatalos telepítő mindent elintéz.

C) fnm — verziókezelővel (haladóknak)

Akkor hasznos, ha több projekten dolgozol, amelyek eltérő Node-verziót igényelnek.

winget install Schniz.fnm

Ezután a PowerShell profiljába be kell tenni az fnm indítósorát (a fnm env kiírja, hogyan). Használat:

fnm install 24        # a 24-es LTS telepítése
fnm use 24            # váltás a 24-esre
fnm list              # telepített verziók
fnm default 24        # alapértelmezett verzió
JÓ TUDNI

Az nvm-windows is elterjedt megoldás ugyanerre. Bármelyiket használod: ne telepítsd egyszerre a hivatalos telepítővel is, mert összeakadhatnak. Ha váltasz, előbb távolítsd el a másikat.

A) Hivatalos telepítő

  1. Nyisd meg: https://nodejs.org
  2. LTS → a .pkg fájl letöltése.
  3. Indítsd el, és kattints végig a telepítőn.
  4. Nyiss egy új Terminál-ablakot, és ellenőrizd a 4. szakasz parancsaival.

B) Homebrew (ha van a gépeden)

brew install node@24

C) fnm — ajánlott, ha több verzió kell

brew install fnm

Majd a ~/.zshrc fájlba:

eval "$(fnm env --use-on-cd)"

Ezután:

fnm install 24
fnm default 24
TIPP — Apple Silicon

Az M-sorozatú gépekre az ARM64 változat való; a nodejs.org automatikusan ezt kínálja fel. Ha a node -p "process.arch" parancsra arm64 a válasz, jól jársz.

VESZÉLY

Az apt install nodejs a legtöbb disztribúción nagyon régi verziót telepít. Ne ezt használd!

A) fnm vagy nvm — ajánlott

# fnm
curl -fsSL https://fnm.vercel.app/install | bash
# új terminál után:
fnm install 24
fnm default 24
# nvm (alternatíva)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
# új terminál után:
nvm install 24
nvm use 24
nvm alias default 24

B) NodeSource-tároló (Debian/Ubuntu, rendszerszintű telepítés)

curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
FIGYELEM — sudo és npm

Linuxon soha ne használj sudo-t az npm install-hoz egy projektben. Ha jogosultsági hibát kapsz, az azt jelenti, hogy rossz helyre telepítenél; a megoldás a verziókezelő (fnm/nvm) használata, nem a sudo.

4Telepítés-ellenőrzés

Futtasd le mindet — minden sorra kapnod kell választ. Ha az utolsó parancs kiírja, hogy „Működik a Node!”, a környezeted készen áll.

node -v
npm -v
npx -v
node -p "process.platform + ' / ' + process.arch"
node -e "console.log('Működik a Node!')"
KapcsolóMit csinál
node -vKiírja a verziót
node -e "kód"Lefuttat egy kódrészletet (evaluate)
node -p "kifejezés"Lefuttat és ki is írja az eredményt (print)
node fajl.jsLefuttat egy fájlt
nodeElindítja a REPL-t (interaktív konzol)

Próbáld ki — mit ír ki a gép?

Kattints egy parancsra: „begépelődik” a terminálba, és megjelenik a válasz. Így tudod, mit kell látnod a saját gépeden. (Ez itt beégetett kimenet, nem futtat semmit.)

Terminál — C:\projektek

5A parancssor minimuma

Nem kell parancssori mesternek lenned, de ezekre szükséged lesz. A jó hír: a VS Code beépített terminálja mindig a megnyitott projektmappában indul, ezért a mappák közti navigálásra a gyakorlatban alig lesz szükség.

FeladatWindows (PowerShell)macOS / Linux
Hol vagyok?pwdpwd
Mi van itt?ls vagy dirls -la
Belépés mappábacd webshopcd webshop
Egy szinttel feljebbcd ..cd ..
Új mappamkdir webshopmkdir webshop
Fájl tartalmacat fajl.jscat fajl.js
Képernyő törléseclsclear
Futó program leállításaCtrl + CCtrl + C
Előző parancs↑↑
TIPP — a Tab a legjobb barátod

Az automatikus kiegészítés: írd be a mappanév első néhány betűjét, és nyomj Tab-ot. Így nem gépelsz el semmit — és ez a leggyakoribb kezdő hibaforrás.

A REPL — interaktív konzol

Ha csak ki akarsz próbálni egy sor JavaScriptet, nem kell fájlt létrehozni:

node
Welcome to Node.js v24.20.0.
Type ".help" for more information.
> 2 + 3
5
> const nev = "Anna"
undefined
> `Szia, ${nev}!`
'Szia, Anna!'
> .exit

Kilépés: .exit vagy kétszer Ctrl + C.

MIÉRT ÍR KI „undefined”-OT?

A REPL minden beírt sor értékét kiírja. A const nev = "Anna" egy értékadás, aminek nincs visszatérési értéke — ezért undefined. Ez nem hiba, a változó létrejött.

6Az első Node-programod

Hozz létre egy mappát, benne egy elso.js fájlt:

console.log("Szia, Node!");
console.log("Node verzió:", process.version);
console.log("Operációs rendszer:", process.platform);
console.log("Ez a fájl itt van:", import.meta.dirname);

Futtatás:

node elso.js

Amit látnod kell (a saját adataiddal):

Szia, Node!
Node verzió: v24.20.0
Operációs rendszer: win32
Ez a fájl itt van: C:\projektek\proba
JÓ TUDNI — a process

A process egy beépített, globális objektum: a futó folyamatról ad információt. Böngészőben ilyen nincs — ez a szerveroldal egyik árulkodó jele.

Node vs. böngésző — mit ne várj

console.log("ez működik");     // ✅
alert("ez nem");                // ❌ ReferenceError: alert is not defined
document.querySelector("h1");  // ❌ ReferenceError: document is not defined

Nincs window, nincs document, nincs alert — mert nincs weboldal. Cserébe van fájlrendszer, hálózat és folyamatkezelés.

7A projekt: package.json

Egy Node-projekt lelke a package.json fájl. Ez tartja nyilván a projekt nevét, verzióját, a függőségeit és a futtatható parancsait. Minden projekt ezzel kezdődik:

mkdir webshop-api
cd webshop-api
npm init -y

Az -y (yes) minden kérdésre az alapértelmezett választ adja. Ha kérdésekkel szeretnéd: npm init — ekkor sorban rákérdez a névre, verzióra, leírásra.

A létrejött fájl:

{
  "name": "webshop-api",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}
MezőJelentése
nameA projekt neve (kisbetű, kötőjel, ékezet nélkül)
versionA projekt saját verziója
mainA belépési pont fájlja
type"commonjs" (alapértelmezett) vagy "module" — lásd a 10. szakaszt
scriptsSaját parancsok (npm run …)
dependenciesA futáshoz szükséges csomagok
devDependenciesCsak fejlesztéshez kellő csomagok
FIGYELEM

A package.json kézzel is szerkeszthető, és gyakran így is teszünk. Csak vigyázz: érvényes JSON-nak kell maradnia — nincs komment és nincs záró vessző. (A JSON szabályait a 2. fejezetben vettük.)

8Csomagok telepítése npm-mel

Az npm (Node Package Manager) egy hatalmas nyilvános csomagtár. Innen tölthetsz le mások által megírt könyvtárakat — az Expresstől a Prismáig mindent.

npm install express            # függőség telepítése (röviden: npm i express)
npm install --save-dev eslint  # fejlesztői függőség (röviden: npm i -D eslint)
npm install                    # a package.json alapján MINDENT telepít
npm uninstall express          # eltávolítás
npm outdated                   # mi az, ami elavult?
npm list --depth=0             # mit telepítettem közvetlenül?

Három dolog keletkezik telepítéskor

EGY NODE-PROJEKT MAPPÁJA 📄 package.json mit szeretnék — a függőségek tartománnyal (^5.2.1) ✓ verziókezelőbe 📄 package-lock.json mit telepítettem pontosan — fix verziók, minden gépen ugyanaz ✓ verziókezelőbe 📁 node_modules/ a letöltött kód maga — több ezer fájl, akár több száz MB ✗ SOHA bármikor újra előállítható 📄 .env titkok: adatbázis-jelszó, JWT-kulcs ✗ SOHA helyette: .env.example 📄 index.js — a saját kódod ✓ verziókezelőbe
4. ábra — A node_modules és a .env soha nem utazik a projekttel.
VESZÉLY — beadás előtt

Ha a projektet e-mailben vagy tömörítve adod be, a node_modules mappát előbb töröld ki. Több száz megabájt, és bármikor újra előállítható az npm install paranccsal a package.json alapján.

VESZÉLY — idegen kód a gépeden

Az npm-csomagok idegen kódot futtatnak a gépeden. Telepítés előtt nézd meg a csomag nevét betűről betűre (a támadók hasonló nevű, hamis csomagokat töltenek fel — ez a typosquatting), és ellenőrizd a heti letöltésszámot az npmjs.com-on. Az npm audit parancs kiírja az ismert sérülékenységeket.

npx — futtatás telepítés nélkül

npx prisma init        # a Prisma CLI futtatása telepítés nélkül
npx create-vite@latest # projekt-generátor

Az npx letölti (ideiglenesen), futtatja, majd nem hagy maga után szemetet. Egyszer használatos eszközökhöz — például projekt-generátorokhoz — ez az ideális.

Verziókezelőbe kerül?

Nyolc fájl és mappa. Döntsd el mindegyikről, hogy feltöltenéd-e a projekttel együtt verziókezelőbe! Ez a kérdés éles projektben is naponta előjön — a rossz válasz biztonsági kockázatokat rejt magában.

1 / 8Helyes: 0
…

9Saját parancsok: scripts

A package.json scripts szakaszába saját parancsokat írhatsz. Ennek az az értelme, hogy a hosszú parancsot egyszer írod le, és utána mindenki ugyanazt a rövid nevet használja:

"scripts": {
  "start": "node index.js",
  "dev": "node --watch --env-file=.env index.js",
  "test": "node --test"
}

Futtatásuk:

npm start        # a "start" külön kezelt: nem kell a "run"
npm run dev
npm test
npm run          # kilistázza az elérhető parancsokat

Automatikus újraindítás fejlesztés közben

Régen ehhez a nodemon csomag kellett. Ma már beépített:

node --watch index.js

A Node figyeli a fájlokat, és mentés után automatikusan újraindítja a programot. Ezért lesz a dev scriptünk mindig ez.

Környezeti változók fájlból

node --env-file=.env index.js

A .env fájl sorai (KULCS=érték) bekerülnek a process.env objektumba:

# .env
PORT=3000
DATABASE_URL="mysql://root:jelszo@localhost:3306/webshop"
console.log(process.env.PORT);   // 3000
VESZÉLY

A .env fájl titkokat tartalmaz. Soha nem kerül verziókezelőbe! Helyette egy .env.example fájlt adunk át, amelyben a kulcsok szerepelnek, de az értékek üresek. A .gitignore-ba mindig vedd fel:

node_modules/
.env
JÓ TUDNI

Node 22 óta van egy gyorsabb, beépített változat is: node --run dev. Ugyanazt teszi, csak nem indít külön npm-folyamatot. Az npm run mindenhol működik, ezért a tananyagban azt használjuk.

10CommonJS vagy ESM?

A Node.js-ben kétféle modulrendszer él egymás mellett. Fontos tudni, melyiket használod, mert az interneten talált példák felváltva mutatják mindkettőt — és ha összekevered őket, a program el sem indul.

CommonJS (CJS) — a régi Bekapcsolás: alapértelmezett, nem kell semmi matek.js — kiajánlás: module.exports = { osszead }; index.js — behúzás: const { osszead } = require("./matek"); Böngészőben: ✗ nem működik ES Modules (ESM) — ezt használjuk Bekapcsolás: "type": "module" ← a package.json-ba matek.js — kiajánlás: export function osszead(a, b) { … } index.js — behúzás: import { osszead } from "./matek.js"; Böngészőben: ✓ ugyanez a szintaxis
5. ábra — Ugyanaz a két fájl kétféleképpen. A jobb oldali a JavaScript szabványos rendszere.

Mi ESM-et használunk, mert ez a szabvány, és ezt ismered a frontendről is. Ehhez a package.json-ba fel kell venni:

{
  "name": "webshop-api",
  "type": "module",
  "main": "index.js"
}

Példa két fájlra:

// matek.js
export function osszead(a, b) {
  return a + b;
}
export const PI = 3.14159;
// index.js
import { osszead, PI } from "./matek.js";   // ⚠️ a .js kiterjesztés KÖTELEZŐ!
console.log(osszead(2, 3));                 // 5
FIGYELEM — a három leggyakoribb ESM-hiba

1. Elmarad a "type": "module" → SyntaxError: Cannot use import statement outside a module

2. Lemarad a .js kiterjesztés az importnál → ERR_MODULE_NOT_FOUND. A frontendes buildelőknél ez elhagyható, Node-ban nem.

3. require és import keverése ugyanabban a fájlban → hiba.

A SZABÁLY EGY MONDATBAN

Saját fájlnál kell a ./ és a .js: import { x } from "./utils.js".
npm-csomagnál viszont csak a név: import express from "express".

Az ESM-fájlokban az útvonalhoz nem a régi __dirname, hanem ez használható:

console.log(import.meta.dirname);   // a fájl mappája
console.log(import.meta.filename);  // a fájl teljes útvonala

11Gyakorlat: projekt a nulláról

Csináld végig, és minden lépésnél ellenőrizd a jelzett eredményt. Ez lesz a minta minden későbbi projekthez.

  1. Mappa létrehozása és belépés
    mkdir node-proba
    cd node-proba
  2. Projekt inicializálása
    npm init -y
    Ellenőrzés: létrejött a package.json.
  3. ESM bekapcsolása. Nyisd meg a package.json-t, és vedd fel a "type": "module" sort.
  4. Scriptek beállítása
    "scripts": {
      "start": "node index.js",
      "dev": "node --watch index.js"
    }
  5. Az index.js létrehozása
    const tanulok = ["Anna", "Bence", "Csenge"];
    
    console.log("Node verzió:", process.version);
    console.log("Tanulók száma:", tanulok.length);
    
    for (const nev of tanulok) {
      console.log(`- ${nev}`);
    }
  6. Futtatás
    npm start
  7. Figyelő mód
    npm run dev
    Ellenőrzés: írj át valamit a fájlban, majd ments (Ctrl + S). A program magától újraindul. Leállítás: Ctrl + C.
  8. Egy csomag telepítése próbaképpen
    npm install express
    Ellenőrzés: megjelent a node_modules mappa, a package-lock.json fájl, és a package.json-ban a dependencies szakasz.

12Gyakori hibák

A HIBAKERESÉS ELSŐ SZABÁLYA

Olvasd el a hibaüzenet első két sorát! A Node hosszú stack trace-t ír ki, de a lényeg szinte mindig az elején van: a hiba típusa, valamint a fájl és a sor, ahol keletkezett. A többi sor a hívási lánc — az ritkán érdekes.

Hibaüzenet-kereső

Válaszd ki, amit a terminálban látsz — megmondom, mit jelent és mi a megoldás. Érdemes elmenteni ezt az oldalt: a következő hetekben sokszor visszatérsz ide.

Összefoglaló táblázat

HibaüzenetMit jelent?Megoldás
'node' is not recognized…A Node nincs a PATH-banIndíts új terminált; ha nem segít, telepítsd újra
'winget' is not recognized…Ezen a Windowson nincs winget (LTSC, Server, felügyelt gép)Telepíts a hivatalos .msi fájllal — a wingetre nincs szükség
Cannot find module './matek'ESM-ben lemaradt a .jsimport … from "./matek.js"
Cannot use import statement outside a moduleHiányzik a "type": "module"Vedd fel a package.json-ba
require is not defined in ES module scopeESM-ben require-t használtálÍrd át import-ra
Cannot find module 'express'Nincs telepítve a csomagnpm install express
EADDRINUSE: address already in useA port foglalt — fut még egy szerverÁllítsd le (Ctrl+C), vagy válts portot
EACCES: permission deniedJogosultsági hiba (Linux/macOS)Ne sudo-zz! Használj fnm/nvm-et
npm ERR! code ENOENT … package.jsonNem projekt-mappában vagycd a helyes mappába, vagy npm init -y
Unexpected token a package.json-banElrontott JSON (vessző, komment)Javítsd; a VS Code aláhúzza a hibát
npm WARN deprecated …Egy csomag elavultÁltalában figyelmen kívül hagyható

13Feladatok

Elméleti feladatok
F1⭐ alap

Verziószámok. Egy projekt package.json-jában ez áll: "express": "^5.2.1". Melyik verziók telepedhetnek fel ennek alapján?

5.2.0 · 5.3.0 · 5.2.9 · 6.0.0 · 5.10.2

F2⭐ alap

Melyik hova? Döntsd el, dependencies vagy devDependencies:

  • a) express — a szerver keretrendszere
  • b) eslint — kódellenőrző
  • c) @prisma/client — adatbázis-hozzáférés futás közben
  • d) prisma — CLI, migrációkhoz
  • e) jsonwebtoken — token kezelése
F3⭐ alap

Mi kerülhet verziókezelőbe? Jelöld meg: package.json · package-lock.json · node_modules/ · .env · .env.example · index.js · .gitignore

F4⭐⭐ haladó

Hibakeresés. Mi a hiba, és hogyan javítod?

// a package.json-ban nincs "type" mező
import express from "express";
// a package.json-ban van "type": "module"
import { osszead } from "./matek";
F5⭐⭐ haladó

LTS. Miért páros a Node LTS-főverziója, és miért ne tegyél Current verziót éles szerverre? Írj 4-5 mondatot.

Gyakorlati feladatok
G1⭐ alap

Telepítés otthon. Telepítsd fel a Node.js 24 LTS-t a saját gépedre, és készíts képernyőképet a következő parancsok kimenetéről: node -v, npm -v, npx -v.

G2⭐ alap

Első script. Készíts egy bemutatkozas.js fájlt, amely kiírja a nevedet, a Node verzióját, az operációs rendszert és az aktuális mappa útvonalát. Futtasd node bemutatkozas.js paranccsal.

G3⭐⭐ haladó

Projekt a nulláról. Hozz létre egy feladatlista nevű projektet:

  • npm init -y, majd "type": "module" beállítása
  • start és dev script felvétele
  • index.js, amely egy tömbben tárolt teendőket ír ki számozva
  • Indítsd npm run dev-vel, és bizonyítsd be, hogy mentéskor újraindul
G4⭐⭐ haladó

Modulok. Bontsd három fájlra az előző feladatot: teendok.js (adatok exportálása), kiiras.js (formázó függvény exportálása), index.js (mindkettő importálása és használata). Ügyelj a .js kiterjesztésre!

G5⭐⭐ haladó

Csomagok. Telepítsd az express és a chalk csomagot, majd:

  • nézd meg a package.json és a package-lock.json változását;
  • futtasd az npm list --depth=0 parancsot;
  • távolítsd el a chalk-ot, és nézd meg újra a package.json-t.
G6⭐⭐⭐ kihívás

Környezeti változók. Készíts egy .env fájlt PORT=4000 és APP_NAME=Webshop tartalommal, majd egy index.js-t, amely kiírja ezeket. Futtasd node --env-file=.env index.js paranccsal, és vedd fel dev scriptként is! Készíts hozzá .env.example és .gitignore fájlt is.

14Önellenőrző kvíz

Tíz kérdés. Válassz, és azonnal megtudod, jó volt-e — magyarázattal.

15Összegzés

  1. A Node.js telepítője három parancsot hoz: node, npm, npx. Ellenőrzés: node -v, npm -v.
  2. Mindig LTS verziót használunk — most a 24.20.0 „Krypton”-t (npm 11.19.0). LTS csak páros főverzióból lesz.
  3. Windowson a hivatalos .msi, macOS-en a .pkg vagy a Homebrew, Linuxon fnm/nvm az ajánlott út. Linuxon ne apt-tal, és soha ne sudo npm install.
  4. Minden projekt npm init-tel kezdődik; a package.json a projekt leírója.
  5. A csomagokat npm install telepíti. A node_modules és a .env sosem kerül verziókezelőbe, a package-lock.json viszont igen.
  6. A saját parancsokat a scripts szakaszba írjuk: npm start, npm run dev.
  7. Fejlesztéshez node --watch (nem kell nodemon), titkokhoz --env-file=.env — mindkettő beépített.
  8. ESM-et használunk: "type": "module", import/export, és saját fájloknál kötelező a .js kiterjesztés.

16Fogalomtár

FogalomJelentés
Node.jsJavaScript-futtatókörnyezet a böngészőn kívül
LTS
Long Term Support
Hosszú távon támogatott, stabil verzióvonal (páros főverziók)
npm
Node Package Manager
A Node csomagkezelője és a nyilvános csomagtár
npxCsomag futtatása állandó telepítés nélkül
package.jsonA projekt leírója: név, verzió, függőségek, scriptek
package-lock.jsonA telepített verziók pontos rögzítése
node_modulesA letöltött csomagok mappája — sosem kerül verziókezelőbe
dependencyFutáshoz szükséges csomag
devDependencyCsak fejlesztéshez szükséges csomag
semver
Semantic Versioning
Verziószámozási rendszer: major.minor.patch
CommonJSA Node régi modulrendszere (require)
ESM
ECMAScript Modules
A JavaScript szabványos modulrendszere (import) — ezt használjuk
REPL
Read–Eval–Print Loop
Interaktív Node-konzol
process.envA környezeti változók objektuma
.envKörnyezeti változókat tartalmazó, titkos fájl
fnm / nvmNode-verziókezelő: több verzió egymás mellett
PATHAz a listája a mappáknak, ahol a rendszer a parancsokat keresi
← Előző tananyag 2. A REST API