ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

nodeJS

nodeJS request response

๋ณ€๊ธฐ์› 2022. 2. 5. 23:32
import express from "express";
import morgan from "morgan";

const PORT = 4000;
const app = express();

const logger = morgan("dev");

const handleHome = (req, res) => {
  return res.send("<h1>it is dance with server and client</h1>");
};

app.use(logger);
app.get("/", handleHome);

const handleListening = () => {
  console.log(`โœ… Server listening on port http://localhost:${PORT} ๐Ÿš€`);
};

app.listen(PORT, handleListening);

import express from "express"

const app = express()

app.listen(4000, ()=>{console.log("Server listening on port 4000")})

express๋กœ ์„œ๋ฒ„์ƒ์„ฑ ์ฝ”๋“œ.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ญ”์ง€๋Š” ๊ตฌ๋ถ„์ด ๋˜๋Š”๋ฐ ์•„์ง๋„ ์–ด๋””๊นŒ์ง€๊ฐ€ ์„œ๋ฒ„์ด๊ณ  ์–ด๋””๊นŒ์ง€๊ฐ€ ํด๋ผ์ด์–ธํŠธ์ธ์ง€ ๊ตฌ๋ถ„์ด ์–ด๋ ต๋‹ค.

๋А๋‚Œ์ƒ url๋กœ req,res๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๊ฒƒ์€ ๋ฐฑ์—”๋“œ์—์„œ ํ•˜๋Š”์ผ์ธ๊ฒƒ ๊ฐ™๊ณ , ํ•˜๋‚˜์˜ url์•ˆ์—์„œ ์›น๋ธŒ๋ผ์šฐ์ €์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์„ ํ”„๋ก ํŠธ๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ.. ๊ทธ๋Ÿผ rendering ํ•˜๋Š” html viewํŒŒ์ผ์€ ๋ญ˜๊นŒ?  ๊ตณ์ด ๋‚˜๋ˆ ์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‚˜ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค.

์ผ๋‹จ ์˜ค๋Š˜ ๋ณต์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•ด๋ณด์ž

์„œ๋ฒ„๋Š” 24์‹œ๊ฐ„ ์ผœ์ ธ์žˆ๋Š” ์ปดํ“จํ„ฐ์ด๊ณ  ํ•ญ์ƒ ์šฐ๋ฆฌ๋ฅผ ์ง€์ผœ๋ณด๊ณ  ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค url์„ ์ž…๋ ฅํ•œ๋‹ค๋Š” ๊ฒƒ์€, url๋กœ request ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„๋Š” ๊ทธ req๋ฅผ ์ง€์ผœ๋ณด๊ณ  ์žˆ๋‹ค๊ฐ€ res๋กœ ์‘๋‹ตํ•˜๋ฉด์„œ ํ™”๋ฉด์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์šฐ๋ฆฌ์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์–ด๋””๋กœ ์ฐพ์•„๊ฐ€๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์š”์ฒญํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ํ™”๋ฉด์„ ๋ณด๋‚ด์ฃผ๊ณ  ๋ธŒ๋ผ์šฐ์ €๋Š” ๊ทธ์ € ์šฐ๋ฆฌ์—๊ฒŒ ํ™”๋ฉด์„ ๋ณด์—ฌ์ค„ ๋ฟ์ด๋‹ค. 

app.listen(4000)์„ ํ–ˆ๊ธฐ๋•Œ๋ฌธ์— ๋กœ์ปฌํ˜ธ์ŠคํŠธ 4000๋ฒˆ์— req๋ฅผ ๋ณด๋‚ผ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ cannot GET / ๊ฐ€ ๋œฌ๋‹ค. ์ด ๋ง์€  rootํŽ˜์ด์ง€๋กœ์˜ GET์š”์ฒญ์— ์‘๋‹ตํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋œป์ด๋‹ค. rootํŽ˜์ด์ง€๋ž€ ์ฒ˜์Œ ์ ‘์†ํ•˜๊ฒŒ ๋˜๋Š” ํ™ˆํŽ˜์ด์ง€๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

์„œ๋ฒ„๋กœ ๋Œ์•„์™€์„œ app.get("/", callbackfunc)์„ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ํ™ˆํŽ˜์ด์ง€๋ฅผ ํ–ฅํ•œ GET์š”์ฒญ์— ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค. callbackfunc ๋ถ€๋ถ„์„ ์ปจํŠธ๋กค๋Ÿฌ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด res.send()๋กœ ๋ฌธ์ž์—ด์ด๋‚˜ html์„ ๋ณด๋‚ผ์ˆ˜๋„ ์žˆ๊ณ . res.end()๋กœ ์‘๋‹ต์„ ๋งˆ์น ์ˆ˜๋„ ์žˆ๊ณ , html์„ renderํ• ์ˆ˜์žˆ๊ณ . ๋‹ค๋ฅธ url๋กœ redirect๋„ ํ• ์ˆ˜์žˆ๋‹ค. ๊ทธ ์™ธ์—๋„ ๋งŽ๋‹ค. ์•„๋ž˜ ์ฐธ๊ณ 

https://expressjs.com/ko/4x/api.html#app.get.method

 

Express 4.x - API ์ฐธ์กฐ

Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex

expressjs.com

์ปจํŠธ๋กค๋Ÿฌ๋Š” const handleHome = (req,res)=>{~~~~} ์™€ ๊ฐ™์ด "req,res" arguments๋ฅผ ํ•ญ์ƒ ๊ฐ€์ง„์ฑ„๋กœ ๋งŒ๋“ค์–ด์ง„๋‹ค. req,res์˜ ํ”„๋กœํผํ‹ฐ์™€ ๋ฉ”์†Œ๋“œ๋Š” ์•„๋ž˜๋ฅผ ์ฐธ๊ณ 

https://expressjs.com/ko/4x/api.html#req

 

Express 4.x - API ์ฐธ์กฐ

Express 4.x API express() Creates an Express application. The express() function is a top-level function exported by the express module. var express = require('express') var app = express() Methods express.json([options]) This middleware is available in Ex

expressjs.com

๊ทธ๋ฆฌ๊ณ  ์‚ฌ์‹คconst handleHome = (req,res)=>{~~~~}  ์—ฌ๊ธฐ์— ํ•˜๋‚˜๋ฅผ ๋” ๊ฐ€์งˆ์ˆ˜์žˆ๋‹ค. ๋ฐ”๋กœ next argument์ด๋‹ค. 

const handleHome = (req,res,next)=>{

~~~~, next()} 

next()๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ middleware ๋ผ๊ณ  ํ•œ๋‹ค. ์‚ฌ์‹ค ๋ชจ๋“  ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ๋ ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ด€์Šต์ ์œผ๋กœ ๋งˆ์ง€๋ง‰ ์ปจํŠธ๋กค๋Ÿฌ์—๋Š” next๋ฅผ ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. next()๊ฐ€ ์žˆ๋Š” ๊ฒƒ์€ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ–ฅํ•˜๋Š” ๋ฏธ๋“ค์›จ์–ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๋ชจ๋“  get์š”์ฒญ์— ์ „๋ถ€๋‹ค ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋ณต๋ถ™ํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ˆ˜ํ•˜๊ธฐ๋„ ์‰ฝ๊ณ  ๋งค์šฐ ๊ท€์ฐฎ๋‹ค. app.use()๋ฅผ ํ†ตํ•ด ๊ธ€๋กœ๋ฒŒ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ๋‹จ get์š”์ฒญ๋ณด๋‹ค ์œ„์— ์ ํ˜€์žˆ์–ด์•ผ ๋ฏธ๋“ค์›จ์–ด๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ• ๊ฒƒ์ด๋‹ค. ๋ชจ๋“  ์š”์ฒญ์— ์•ž์„œ logger middleware ๊ฐ€ ๋จผ์ € ์‹คํ–‰ ๋  ๊ฒƒ์ด๋‹ค. 

๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด๋„ ๋˜์ง€๋งŒ, ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์„œ importํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ