goal
- ๊ธฐ๋ณธ ๋ด์ฅ node.js ๋ชจ๋(http ๋ชจ๋)๋ก ์์ฑํ๋ http ์๋ฒ๋ฅผ โก๏ธ express ์๋ฒ ํ๋ ์์ํฌ๋ฅผ ํตํด์ ๋ฆฌํฉํ ๋ง ํ๋ค.
- ๋ฆฌํฉํ ๋ง : ์ธ๋ถ๋์์ ๋ฐ๊พธ์ง ์์ผ๋ฉด์ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก, ์ํํธ์จ์ด ์์คํ ์ ๋ณ๊ฒฝํ๋ ํ๋ก์ธ์ค์ด๋ค. ์ํํธ์จ์ด๋ฅผ ๋ณด๋ค ์ดํดํ๊ธฐ ์ฝ๊ณ , ์์ ํ๊ธฐ ์ฝ๋๋ก ๋ง๋๋ ๊ฒ, ๊ฒ์ผ๋ก ๋ณด์ด๋ ์ํํธ์จ์ด์ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒ์ด๋ค.
์ ์ : Node.js๋ฅผ ์ํ ๋น ๋ฅด๊ณ ๊ฐ๋ฐฉ์ ์ธ ๊ฐ๊ฒฐํ ์น ํ๋ ์์ํฌ (์ข์ ๋ง์ ๋ค ์จ๋จ๋ค ใ ใ ) / Node.js ํ๊ฒฝ์์ ์น ์ดํ๋ฆฌ์ผ์ด์ or API๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ธ๊ธฐ์๋ ํ๋ ์์ํฌ
์์ : npm install express --save
ํน์ง
๊ธฐ์กด http๋ชจ๋๊ณผ์ ์ฐจ์ด์
const express = require("express")
const app = express()
// ๐๏ธ
// express๋ ํจ์ // ์ด ํจ์ ๋ฆฌํด๊ฐ์ ๋ณ์app์ ๋ด๋๋ค.
// application (์ดํ app) ์ด๋ผ๋ ๊ฐ์ฒด๊ฐ ๋ด๊ฒจ์๋ค.
// app ๊ฐ์ฒด๋ ์ผ๋ฐ์ ์ผ๋ก Express ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํ๋ธ๋ค.
// Express ๋ชจ๋์์ ๋ด๋ณด๋ธ ์ต์์ express() ํจ์๋ฅผ ํธ์ถํด์ ๋ง๋ ๋ค.
ํฌํธ์ค์
๋ฏธ๋ค์จ์ด์ฌ์ฉ
๋ผ์ฐํฐ
listen
var express = require('express')
var app = express()
app.get('/', function (req, res) {
res.send('hello world')
})
app.listen(3000)
const port = 3000;
app.listen(port, () => {
console.log(`์์ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋๊ณ ์๋ค. ๋ค์ ์ฃผ์์์ => http://localhost:${port}`)
})
// ๐๏ธ
// listen๋ฉ์๋๋ ์ง์ ๋ host and port์์ ์ฐ๊ฒฐ์ ๋ฐ์ธ๋ํ๊ณ ์์ ํ๋ค.
// app.listen([port[, host[, backlog]]][, callback])
// ์ด ๋ฉ์๋๋ Node์ http.Server.listen()๊ณผ ๋์ผํ๋ค.
const express = require("express")
const app = express()
const router = express.Router()
// ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ฉด, ๋ชจ๋์ ๋ง์ดํ
๊ฐ๋ฅํ ํธ๋ค๋ฌ๋ฅผ ์์ฑํ ์ ์๋ค
// Router ์ธ์คํด์ค๋ ์์ ํ ๋ฏธ๋ค์จ์ด์ด์ ๋ผ์ฐํ
์์คํ
const bodyParser = require('body-parser') // json to parse
const jsonParser = bodyParser.json() // request์ body๋ถ๋ถ์ ๊ฐ๊ณ ์์
const cors = require('cors')
const port = 3000;
const ip = "127.0.0.1";
app.use(cors()) // ๋ชจ๋ ์์ฒญ์ ๋ํด CORS ํ์ฉ
app.use(jsonParser) // โญ๏ธ์๋ฅผ ์จ์ค๋ค๊ณ ๋ช
์ํด์ผ ํจ
const print = { results : [] }
app.post("/messages", (req, res, next) => {
print.results.push(req.body)
res.status(201).send(JSON.stringify(print))
})
app.get("/messages", (req, res, next) => {
res.status(200).send(print)
})
module.exports = app.listen(port)
// ๋งค์ฐ ๊ฐ๊ฒฐํด์ง ! express์ต๊ณ ! ๐๏ธ