Felhasználói eszközök

Eszközök a webhelyen


oktatas:web:back-end_framework:express:kezdes

Különbségek

A kiválasztott változat és az aktuális verzió közötti különbségek a következők.

Összehasonlító nézet linkje

Előző változat mindkét oldalonElőző változat
oktatas:web:back-end_framework:express:kezdes [2025/07/27 23:22] – [Projekt készítése] adminoktatas:web:back-end_framework:express:kezdes [2025/08/01 10:09] (aktuális) – eltávolítva admin
Sor 1: Sor 1:
-[[:oktatas:web:back-end_framework:express|< Express]] 
- 
-====== Express - Kezdés ====== 
- 
-  * **Szerző:** Sallai András 
-  * Copyright (c) 2023, Sallai András 
-  * Szerkesztve: 2024, 2025 
-  * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] 
-  * Web: https://szit.hu 
- 
-===== Az Expressről ===== 
- 
-Az Express segítségével gyorsan készíthetünk webalkalmazást JavaScript nyelven, Node.js alapokon. 
- 
-Kezeli a HTTP kéréseket, támogatja a middleware használatát. 
- 
-===== VSCode ===== 
- 
-Ajánlott bővítmény a VSCode számára: 
-  * Node.js Modules Intellisense 
- 
- 
-===== Projekt készítése ===== 
- 
-Készítsünk egy Node.js projektet: 
- 
-<code cmd> 
-yarn init -y 
-</code> 
- 
-vagy: 
- 
-<code cmd> 
-npm init -y 
-</code> 
- 
- 
-A yarn parancs használata esetén, lesz egy ilyen package.json állományunk: 
- 
-<code javascript package.json> 
-{ 
-  "name": "app01", 
-  "version": "1.0.0", 
-  "main": "index.js", 
-  "license": "MIT", 
-  "module": "commonjs" 
-} 
-</code> 
- 
-Az npm parancs esetén ez egy kicsit bővebb. 
- 
-Telepítsük az express csomagot: 
- 
-<code cmd> 
-npm install express 
-</code> 
- 
-Használhatjuk az **pnpm** parancsot is. 
- 
- 
-Hozzuk létre az app((Az src helyett app könyvtárat használunk, mivel nincs fordítás, ez fog futni.)) könyvtárban az index.js állományt, a következő tartalommal: 
- 
-<code javascript app/index.js> 
-const express = require('express'); 
-const app = express(); 
- 
-app.get('/', (req, res) => { 
-    res.send('helló') 
-}); 
- 
-app.listen(8000); 
-</code> 
- 
-Indítsunk el a szervert: 
-   node app 
- 
-Teszteljük curl, http vagy res paranccsal, vagy más HTTP klienssel (Postman, Insomnia, Insomnium, HTTPie). 
-  http localhost:8000 
- 
-A szervert a Ctrl+C billentyűvel állíthatjuk le. 
- 
- 
-===== A listen() függvény ===== 
- 
-A listen() függvény képes fogadni második paraméterként egy callback függvényt. 
-Írjunk egy névtelen függvényt, ami kiírja milyen porton fut a szerver: 
- 
- 
-<code javascript> 
-app.listen(8000, () => { 
-    console.log('Listening: localhost:8000'); 
-}); 
-</code> 
- 
-Ha most elindítjuk a szervert, informál bennünket arról, hogy a localhost:8000 címen és porton figyel. 
- 
-A port változóba: 
-<code javascript> 
-const port = 8000; 
-app.listen(port, () => { 
-    console.log(`Listening: localhost:${port}`); 
-}); 
-</code> 
- 
-Vegyük észre, hogy console.log() paramétere már nem szimpla aposztrófok között van, helyette backtick 
-karakterek szerepelnek. A változó behelyettesítés csak így működik. 
- 
- 
-===== Végpont ===== 
- 
-Most adjunk valamilyen végpontot a szerverünkhöz. Legyen például egy **product** nevű végpont: 
- 
-<code javascript> 
-app.get('/product', (req, res) => { 
-    res.send('termék') 
-}); 
-</code> 
- 
-A kódot tegyük a már meglévő app.get() függvény után. 
- 
-Indítsuk újra a szervert: 
-  node app 
- 
-Teszteljük: 
-  http localhost:8000/product 
- 
-===== A nodemon ===== 
- 
-A **nodemon** (Node Monitor) lehetővé teszi, hogy ne kelljen minden fejlesztés után, újraindítanunk a szervert. 
- 
- 
-Telepítsük: 
-  npm install --save-dev nodemon 
- 
-Írjunk egy scriptet a package.json fájlban: 
- 
-<code javascript> 
-{ 
-    "scripts": { 
-        "start": "nodemon app --watch app" 
-    } 
-} 
-</code> 
- 
-Ha fut a szerver állítsuk le, majd indítsuk újra a start script segítségével: 
-  npm start 
- 
-Teszteljük az elérést: 
-  http localhost:8000/product 
- 
-===== Külön routing ===== 
- 
-A végpontokkal (endpoint) határozzuk meg, hogy milyen URL-en keresztül kérdezhetünk le adatokat. 
-Az ilyen információkat nevezzük routing-nak. A routing-t kül állományba tesszük, egy **routes.js** fájlba. 
- 
-<code javascript app/routes.js> 
-const Router = require('express'); 
-const router = Router(); 
- 
-router.get('/product', (req, res) => { 
-    res.send('termék') 
-}); 
- 
-module.exports = router; 
-</code> 
- 
-Az index.js fájlban importáljuk a routes.js tartalmát: 
- 
-<code javascript app/index.js> 
-const express = require('express'); 
-const app = express(); 
-const router = require('./routes'); 
- 
-app.use('/api',router); 
- 
-app.listen(8000, () => { 
-    console.log('Listening: localhost:8000'); 
-}); 
-</code> 
- 
-Vegyük észre, hogy az URL-be bekerült egy **/api** rész. 
- 
-Tesztelés: 
-  http localhost:8000/api/product 
- 
-===== JSON válasz ===== 
- 
-A routes.js fájlban határozzuk meg, hogy mit küldünk a kérésre. 
-Eddig szimpla szöveget küldtünk. A REST API szervereket általában 
-JSON kommunikációval használjuk. 
- 
-JSON választ a json() függvénnyel készíthetünk: 
- 
-<code javascript app/routes.js> 
-const Router = require('express'); 
-const router = Router(); 
- 
-router.get('/product', (req, res) => { 
-    res.json({ name: 'memória'}); 
-}); 
- 
-module.exports = router; 
-</code> 
- 
-===== Metódusok ===== 
- 
-Minden HTTP metódushoz tartozik egy függvény: get(), post(), put(), path(), delete(). 
-Vegyünk fel minden HTTP metódushoz egy routingot. 
- 
-<code javascript app/routes.js> 
-const Router = require('express'); 
-const router = Router(); 
- 
-router.get('/product', (req, res) => { 
-    res.json({ msg: 'get metódus'}); 
-}); 
-router.post('/product', (req, res) => { 
-    res.json({ msg: 'post metódus'}); 
-}); 
-router.put('/product', (req, res) => { 
-    res.json({ msg: 'put metódus'}); 
-}); 
-router.patch('/product', (req, res) => { 
-    res.json({ msg: 'patch metódus'}); 
-}); 
-router.delete('/product', (req, res) => { 
-    res.json({ msg: 'delete metódus'}); 
-}); 
- 
-module.exports = router; 
-</code> 
- 
-Teszteljük HTTP klienssel. Például a http paranccsal (HTTPie része): 
- 
-<code> 
-http localhost:8000/api/product 
- 
-http post localhost:8000/api/product 
- 
-http put localhost:8000/api/product 
- 
-http patch localhost:8000/api/product 
- 
-http delete localhost:8000/api/product 
-</code> 
- 
-===== create-sip használata ===== 
- 
-  npm create sip@latest 
- 
- 
-A futtatás során a következőt láthatjuk: 
- 
-<code> 
-npm create sip@latest 
- 
-> npx 
-> create-sip 
- 
-? Project name:  › app01 
-</code> 
- 
-Írjuk át a projekt nevét, például api névre. 
- 
-<code> 
-npm create sip@latest 
- 
-> npx 
-> create-sip 
- 
-✔ Project name:  … api 
-? Project type:  › - Use arrow-keys. Return to submit. 
-❯   Webpage - Simple webpage: index.html, style.css 
-    Web Bootstrap 
-    JavaScript 
-    Web Node.js 
-    ESBuild JavaScript 
-    ESBuild TypeScript 
-    hai mock API 
-    Express API 
-    Cancel 
-</code> 
- 
- 
-Válasszuk az Express API lehetőséget: 
-<code> 
-✔ Project name:  … api 
-? Project type:  › - Use arrow-keys. Return to submit. 
-    Webpage 
-    Web Bootstrap 
-    JavaScript 
-    Web Node.js 
-    ESBuild JavaScript 
-    ESBuild TypeScript 
-    hai mock API 
-❯   Express API - Express API with simple Sequelize 
-    Cancel 
-</code> 
- 
-A következőket láthatjuk: 
- 
-<code> 
-Create a new Express API... 
-ExpressJS REST API sablon created 
-Read docs/user_doc.md 
-Run next commands: 
-  cd api 
-  npm install 
-  node op key:generate 
-  npm run dev 
-</code> 
- 
-Egy ilyen könyvtárszerkezetet kapunk: 
- 
-<code> 
-api/ 
-  |-app/ 
-  |  |-controllers/ 
-  |  |   |-authcontroller.js 
-  |  |   `-usercontroller.js 
-  |  |-database/ 
-  |  |   `-database.js 
-  |  |-middlewares/ 
-  |  |   `-authjwt.js 
-  |  |-models/ 
-  |  |   `-user.js 
-  |  |-routes/ 
-  |  |   `-api.js 
-  |  `-index.js 
-  |-config/ 
-  |  |-default.json 
-  |  `-default.json.example 
-  |-docs/ 
-  |  |-dev_doc.md 
-  |  `-user_doc.md 
-  |-templates/ 
-  |-test/ 
-  |-tools/ 
-  |-nodemon.json 
-  |-op 
-  |-package.json 
-  `-README.md 
-</code> 
- 
-==== Alkalmazás kulcs generálása ==== 
- 
-  node op key:generate 
- 
- 
-==== Model létrehozása ==== 
- 
-  node op create model employee 
- 
-==== Kontroller létrehozása ==== 
- 
-  node op create controller employee 
- 
-==== Indítás ==== 
- 
-Fejlesztői szerver indítása: 
-  npm run start 
- 
-Production indítása: 
-  npm start 
  
oktatas/web/back-end_framework/express/kezdes.1753651330.txt.gz · Utolsó módosítás: 2025/07/27 23:22 szerkesztette: admin