Jieunny์˜ ๋ธ”๋กœ๊ทธ

[Node.js] Node.js ๋ž€? ๋ณธ๋ฌธ

Study/Node

[Node.js] Node.js ๋ž€?

Jieunny 2023. 11. 28. 17:26

๐Ÿ“Œ Node.js๋ž€?

- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ์„œ๋ฒ„์—์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ž‘๋™ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ

- npm(ํŒจํ‚ค์ง€ ๋งค๋‹ˆ์ €)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋‹ค์–‘ํ•œ ๋ชจ๋“ˆ์„ ์ œ๊ณตํ•œ๋‹ค.

- express๋ž€?

    - Node.js๋ฅผ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ์‰ฝ๊ฒŒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ๋ฏธ๋“ค์›จ์–ด ๋“ฑ์ด ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค.

 

๐Ÿ“Œ API ๋งŒ๋“ค์–ด๋ณด๊ธฐ

1. ๊ฐ„๋‹จํ•œ API ๋งŒ๋“ค๊ธฐ

const express = require("express");
const app = express();
const port = 3000;
// port ๋ฒˆํ˜ธ

app.get("/", function (req, res) {
// ๋ฃจํŠธ ์ฃผ์†Œ๋กœ ์˜ค๋Š” get์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ณด๋‚ด๊ฒ ๋‹ค.
  res.send("Hello World");
});

app.get("/dog", function (req, res) {
// /dog ์ฃผ์†Œ(๋ผ์šฐํŒ…)๋กœ ์˜ค๋Š” get์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ณด๋‚ด๊ฒ ๋‹ค.
  res.send({ sound: "๋ฉ๋ฉ" });
});

app.get("/cat", function (req, res) {
  res.send({ sound: "์•ผ์˜น" });
});

app.listen(port, () => {
// 3000๋ฒˆ ํฌํŠธ๋ฅผ ๊ณ„์† ๋“ฃ๊ณ ์žˆ๊ฒ ๋‹ค.
  console.log("start!");
});

 

2. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๊ธฐ

app.get("/user/:id", function (req, res) {
  const q = req.params;
  console.log(q.id);

  res.json({'userId': 'q.id'});
  // json์€ json ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ฒ ๋‹ค๋Š” ์˜๋ฏธ(send๋ž‘ ๋‹ค๋ฅผ ๊ฑฐ ๊ฑฐ์˜ ์—†์Œ)
});

app.get("/sound/:name", function (req, res) {
  const { name } = req.params;
  if (name === "dog") {
    res.json({ sound: "๋ฉ๋ฉ" });
  } else if (name === "cat") {
    res.json({ sound: "์•ผ์˜น" });
  } else if (name === "pig") {
    res.json({ sound: "๊ฟ€๊ฟ€" });
  } else {
    res.json({ sound: "์•Œ์ˆ˜์—†์Œ" });
  }
});

 

3. ์ฟผ๋ฆฌ ๊ฐ’์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๊ธฐ

app.get("/user/:id", function (req, res) {
  const q = req.query;
  console.log(q.q);
  console.log(q.name);

  res.json({'userId': 'q.name'});
  // json์€ json ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ฒ ๋‹ค๋Š” ์˜๋ฏธ(send๋ž‘ ๋‹ค๋ฅผ ๊ฑฐ ๊ฑฐ์˜ ์—†์Œ)
});

 

๐Ÿ“Œ CORS ์š”์ฒญ ์„ค์ •ํ•˜๊ธฐ

1. require(cors) ์„ค์น˜ ๋ฐ ์ ์šฉ

npm i cors

 

2. ์กฐ๊ฑด ์„ค์ •ํ•˜๊ธฐ

const cors = require('cors');
const app = express();

app.use(cors());
// ์กฐ๊ฑด ์„ค์ • ๊ฐ€๋Šฅ => ๋น„์›Œ ๋†“์œผ๋ฉด ๋ชจ๋“  ์š”์ฒญ์— ๋Œ€ํ•ด์„œ ํ—ˆ์šฉ

 

 

๐Ÿ“š ์กฐ์ฝ”๋”ฉ ์œ ํŠœ๋ธŒ https://www.youtube.com/watch?v=Tt_tKhhhJqY