혼자 적어보는 노트

[Node.js] Route 분리하기 본문

NextJS

[Node.js] Route 분리하기

jinist 2022. 3. 15. 16:57

 

route들을 만들다보면 app.js파일에 너무 많은 route들이 생기게 되는데

use()를 통해 url이 겹치는 라우터들 다른 폴더로 분리할 수 있다.

 

일단 예시로 간단하게 작성해보았다.

 

[app.js]

const express = require("express");
const app = express();
const port = 8080;


app.post("/video", (req, res) => {
  res.send("home");
});
app.post("/video/name", (req, res) => {
  res.send("Name");
});
app.post("/video/popular", (req, res) => {
  res.send("Popular");
});


app.listen(port, () => {
  console.log("Server start");
});

 

분리 방법 

routes폴더 생성 후 해당 폴더 안에

중복되는 앞부분의 주소인 video.js 파일을 생성한다.

 

[routes/video.js]

const express = require("express");
const router = express.Router(); // Router 설정

app.post("/", (req, res) => { // /video
  res.send("Home");
});
app.post("/name", (req, res) => { // /video/name
  res.send("Name");
});
app.post("/popular", (req, res) => {  // /video/popular
  res.send("Popular");
});

module.exports = router;

해당 코드를 복사하여 담아주고 중복되는 video를 제외한 주소를 적어준다.

 

 

다시 app.js로 돌아와서 합쳐주는 코드를 작성한다.

 

const express = require("express");
const videoRouter = require("./routes/video"); // 생성한 video 파일 연결

const app = express();
const port = 8080;

app.use("/video", videoRouter);
// 중복되던 앞 부분의 주소와 연결시킬 Router를 적어준다.

app.listen(port, () => {
  console.log("Server start");
});
Comments