Tartalomjegyzék

< Express

Express - Kezdés ES

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.

package.json
{
  "type": "module"
}
app/index.js
import express from 'express'
const app = express()
 
app.get('/', (req, res) => {
  res.send('helló')
})
 
app.listen(8000)

Futtassuk az alkalmazást a res1) 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/index.js
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
package.json
{
    "scripts": {
        "start": "nodemon app --watch app"
    }
}

Indítás ezek után:

npm start

Külön útválasztás

app/routes.js
import Router from 'express'
const router = Router()
 
router.get('/product', (req, res) => {
  res.send('termék')
})
 
export default router
app/index.js
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

app/routes.js
//...
 
router.get('/product', (req, res) => {
  res.json({ name: 'memória' })
})
 
//...

HTTP metódusok

app/routes.js
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
1)
Telepítés: npm i -g resen