11/16공부정리
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