Jieunny์ ๋ธ๋ก๊ทธ
[Node.js] Node.js ๋? ๋ณธ๋ฌธ
๐ 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