- Published on
Express ๋? ๐๐ค
- Authors
- Name
- Haneul
Express
์ค๋ช
- Express๋ ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ผ๋ จ์ ๊ฐ๋ ฅํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฐ๊ฒฐํ๊ณ ์ ์ฐํ Node.js ์น ์ ํ๋ฆฌ์ผ์ด์ ํ๋ ์์ํฌ์ ๋๋ค.
- ์์ ๋กญ๊ฒ ํ์ฉํ ์ ์๋ ์๋ง์ HTTP ์ ํธ๋ฆฌํฐ ๋ฉ์๋ ๋ฐ ๋ฏธ๋ค์จ์ด๋ฅผ ํตํด ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ฐ๋ ฅํ API๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
์ค์น
npm install express
API
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
get() & post()
//GET ๋ฐฉ์์ METHOD
app.get('/', function (req, res) {
res.send('hello getMethod')
})
//POST ๋ฐฉ์์ MEHTOD
app.post('/', function (req, res) {
res.send('Hello postMethod')
})
Router()
import express from 'express'
const testRouter = expres.Router() // testRouter ์ธ์คํด์ค ์์ฑ
//default index route
testRouter.get('/', function (req, res) {
res.send('Hi!! Home!!')
})
//main route
testRouter.get('/main', function (req, res) {
res.send('Hi!! Main!!')
})
//end route
testRouter.get('/end', function (req, res) {
res.send('Hi!! end!!')
})
export default teestRouter
middleware
๋ฏธ๋ค์จ์ด ํจ์๋ ์์ฒญ ์ค๋ธ์ ํธ(req), ์๋ต ์ค๋ธ์ ํธ (res), ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒญ-์๋ต ์ฃผ๊ธฐ ์ค ๊ทธ ๋ค์์ ๋ฏธ๋ค์จ์ด ํจ์ ๋ํ ์ก์ธ์ค ๊ถํ์ ๊ฐ๋ ํจ์์ ๋๋ค. ๊ทธ ๋ค์์ ๋ฏธ๋ค์จ์ด ํจ์๋ ์ผ๋ฐ์ ์ผ๋ก next๋ผ๋ ์ด๋ฆ์ ๋ณ์๋ก ํ์๋ฉ๋๋ค.
๋ฏธ๋ค์จ์ด ํจ์๋ ๋ค์๊ณผ ๊ฐ์ ํ์คํฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
- ๋ชจ๋ ์ฝ๋๋ฅผ ์คํ.
- ์์ฒญ ๋ฐ ์๋ต ์ค๋ธ์ ํธ์ ๋ํ ๋ณ๊ฒฝ์ ์คํ.
- ์์ฒญ-์๋ต ์ฃผ๊ธฐ๋ฅผ ์ข ๋ฃ.
- ์คํ ๋ด์ ๊ทธ ๋ค์ ๋ฏธ๋ค์จ์ด ํจ์๋ฅผ ํธ์ถ.
ํ์ฌ์ ๋ฏธ๋ค์จ์ด ํจ์๊ฐ ์์ฒญ-์๋ต ์ฃผ๊ธฐ๋ฅผ ์ข ๋ฃํ์ง ์๋ ๊ฒฝ์ฐ์๋ next()๋ฅผ ํธ์ถํ์ฌ ๊ทธ ๋ค์ ๋ฏธ๋ค์จ์ด ํจ์์ ์ ์ด๋ฅผ ์ ๋ฌํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ํด๋น ์์ฒญ์ ์ ์ง๋ ์ฑ๋ก ๋ฐฉ์น๋ฉ๋๋ค.
var express = require('express')
var app = express()
// ๋ฏธ๋ค์จ์ด ํจ์ ์์ฑ ํ ๋ณ์ ํ ๋น
var requestTime = function (req, res, next) {
req.requestTime = Date.now()
next()
}
// ๋ฏธ๋ค์จ์ด ํจ์๋ฅผ ๋ก๋ํ๋ ค๋ฉด ๋ฏธ๋ค์จ์ด ํจ์๋ฅผ ์ง์ ํ์ฌ app.use()๋ฅผ ํธ์ถ
// ๋ฃจํธ ๊ฒฝ๋ก ๋ผ์ฐํธ ๋ก๋ ์ ์ ๋จผ์ ๋ก๋ ๋๋ค.
app.use(requestTime)
// ์ฝ๋ฐฑ ํจ์๋ ๋ฏธ๋ค์จ์ด ํจ์๊ฐ req(์์ฒญ ์ค๋ธ์ ํธ)์ ์ถ๊ฐํ๋ ํน์ฑ์ ์ฌ์ฉํ๋ค.
app.get('/', function (req, res) {
var responseText = 'Hello World!'
responseText += 'Requested at: ' + req.requestTime + ''
res.send(responseText)
})
app.listen(3000)
์ฐธ๊ณ : https://developer.mozilla.org/ko/docs/Learn/Server-side/Express_Nodejs/Introduction https://expressjs.com/ko/