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");
});