[[: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