[[:oktatas:web:back-end_framework:express|< Express]] ====== Express - Kezdés ES ====== * **Szerző:** Sallai András * Copyright (c) 2025, Sallai András * Szerkesztve: 2025 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Kezdés ===== Az alkalmazást kezdhetjük ES modulként is. Készítsünk Node.js alkalmazást: mkdir hello cd hello npm init -y A package.json fájlban a **type** kulcsot javítsuk **module** értékre. { "type": "module" } import express from 'express' const app = express() app.get('/', (req, res) => { res.send('helló') }) app.listen(8000) Futtassuk az alkalmazást a res((Telepítés: npm i -g resen)) paranccsal: res localhost:8000 ===== A listen() függvény ===== A listen() függvény számára megadható egy második paraméter is névtelen függvényként. app.listen(8000, () => { console.log('Listening: 8000') }) Állítsunk be portot: const port = 8000 app.listen(port, () => { console.log(`Listening on port: ${port}`) }) ===== Végpont ===== app.get('/product', (req, res) => { res.send('termék') }) Indítsuk újra a szervert, majd teszteljük: res localhost:8000/product ===== A nodemon ===== A nodemon lehetővé teszi, hogy a fejlesztés során ne kelljen újraindítani a szervert. Telepítsük a nodemon csomagot: npm install --save-dev nodemon { "scripts": { "start": "nodemon app --watch app" } } Indítás ezek után: npm start ===== Külön útválasztás ===== import Router from 'express' const router = Router() router.get('/product', (req, res) => { res.send('termék') }) export default router import express from 'express' const app = express() import routes from './routes.js' app.use('/api',routes) const port = 8000 app.listen(port, () => { console.log(`Listening on port: ${port}`) }) Tesztelés: res localhost:8000/api/product ===== JSON válasz ===== //... router.get('/product', (req, res) => { res.json({ name: 'memória' }) }) //... ===== HTTP metódusok ===== import Router from 'express' const router = Router() router.get('/products', (req, res) => { res.json({ msg: 'get metódus'}); }) router.post('/products', (req, res) => { res.json({ msg: 'post metódus'}); }) router.put('/products', (req, res) => { res.json({ msg: 'put metódus'}); }) router.patch('/products', (req, res) => { res.json({ msg: 'patch metódus'}); }) router.delete('/products', (req, res) => { res.json({ msg: 'delete metódus'}); }) export default router Tesztelés: res localhost:8000/api/products