[NodeJS] React, Node ์ฐ๊ฒฐํ๊ธฐ
CRA๋ก ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๋ค๊ณ ๊ฐ์ ํ๊ฒ ๋ค.
ํด๋น ํด๋๋ก ๋ค์ด๊ฐ ๋จผ์ ์์กด์ฑ์ ์ค์นํด๋ณด์
npm install express // express ๋ผ์ด๋ธ๋ฌ๋ฆฌ!
npm install concurrently // package.json์์ ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋์์ ์คํ์ํด
npm install cors // cors
npm install http-proxy-middleware // ํด๋ผ์ด์ธํธ์ ์ฐ๋
npm install nodemon // ์๋ก๊ณ ์นจํด๋ ์ ์ ์ฉ๋๊ฒ!
๋ด ํ๋ก์ ํธ ๊ธฐ์ค ํด๋๊ตฌ์กฐ๋ฅผ ์๋์ ๊ฐ๋ค.
server ํด๋๋ฅผ ๋ง๋ค์ด route๋ผ๋ ํด๋๋ฅผ ๋ง๋ค๊ณ ์์ index.js๋ฅผ ๋ฃ์.
๊ทธ ํ serverํด๋ ์ ์ญ์ app.js๋ฅผ ๋ง๋ค์!
ํด๋ผ์ด์ธํธ์ ์๋ฒ ์ฐ๋์ ์ํ proxy์ค์ ์ ์ํด srcํด๋ ๋ด๋ถ์ setProxy.js๋ฅผ ์์ฑํ์.
index.js
// server/route/index.js
const express = require("express");
const router = express.Router();
router.get("/", (req, res) => {
res.send("hello World");
});
module.exports = router;
app.js
const express = require("express");
const app = express();
const cors = require("cors");
const basic = require("./route/index");
const port = process.env.PORT || 3001;
app.use(cors());
app.use(bodyParser.json());
app.use("/", basic);
app.listen(port, () => {
console.log(`express is running on ${port}`);
});
setProxy.js
const proxy = require("http-proxy-middleware");
module.exports = (app) => {
app.use(proxy("/", { target: "http://localhost:3001/" }));
};
์ด์ package.json์ผ๋ก ์ด๋ํด์ concurrently๋ฅผ ์ฌ์ฉํด script๋ฅผ ๋ฐ๊ฟ์ฃผ๋๋ก ํ์.
npm run dev
๋ก ์คํํด๋ณด๋ฉด ํด๋ผ์ด์ธํธ์ ์ฐ๋๋์ด ์ ์คํ๋๋ ๊ฑธ ํ์ธํ ์ ์๋ค.
๋ค์ ํฌ์คํ ์์ axios๋ฅผ ์ฌ์ฉํด ํด๋ผ์ด์ธํธ์ ์๋ฒ ํต์ ์ ํด๋ณด๊ฒ ์ต๋๋ค!