코딩/Today I Learn

11/16공부정리

코딩쪼렙 2021. 11. 17. 17:08
728x90

Router

URL, Controller 관리 쉽게해줌 

공통시작부분 기반으로 url 정리 

 

프로젝트 만들 때 생각 할점 

어떤 종류의 데이터를 사용 할 것인가.

프로젝트의 도메인 1.비디오(삭제,업로드,업데이트등) 2.유저(생성,삭제,수정등)

라우터를 도메인별로 나누기 

 

글로벌라우터:  홈에서 바로 갈 수 있는 페이지 

URL예쁘게 만들기 위해 만듬 

global Controller 만들 필요 x 

/watch ->video Controller에

/edit -> user Controller에 

app.get("/", Function)

Router.get("/" , Function)

 

모든파일은 분리된 모듈이다. 

해당 파일은 다른파일로부터 완전히 private 상태 

모두 import express from "express"해야하고

해당폴더에 적은 내용을

바깥에 공유하기위해 export해야함 

default export 1개만 가능 

 

구조가 

Controller

Router 한 파일에 있었는데

Controller 함수 내용이 점점 많아지기 때문에 복잡해짐 파일을 나눠 

 

export default , 각각변수 export 차이점 

1개만 가능 / 여러개

어떤이름으로든 import 가능 / 해당이름으로 import하지않으면 node.js가 찾질 못함

export default 변수이름 / export const 변수이름 = 함수내용 ~~ ,import  {변수이름, 변수이름 } from"경로"

 

import 전 export가 항상 먼저 ! 

 

 

globalRouter.js

import express from "express"; 
const globalRouter = express.Router();

const handleHome =(req,res)=>res.send("home!");
globalRouter.get("/", handleHome);

export default globalRouter;

 

server.js

import globalRouter from "./Router/globalRouter";

app.use("/", globalRouter);
app.use("/videos", videoRouter);
app.user("/users", userRotuer)

 

https://expressjs.com/ko/4x/api.html#express.json [ express document ]

 

`app.use()`: allows you to create global middlewares
- Global middlewares: Middlewares that work in any URL