http와 express의 차이2!
http 모듈을 사용한 경우에는
server=>route=>handler 이렇게 여러 단계를 거치고 복잡하지만 express를 이용한 경우에는 app.route.get('', 핸들러);와 같이 쉽고 간편하게 이용할 수 있다.
Node.js에서의 라우팅
Request가 날아왔을 때, 원하는 경로에 따라 적절한 방향으로 경로를 안내해주는 것
URL, method => 호출 "콜백함수"
express generator를 사용했을 때를 살펴보자.
이후 app.js에서 두가지를 호출했다.
우리도 user-demo와 channel-demo를 한 폴더에 넣어보자.
1. routes 폴더 안 route파일들
- 다음과 같이 바꿔주기.
-
const app = express(); => const router = express.router();
- 그리고 해당 route 파일에서 listen을 할 것이 아니니 listen은 지워준다. (app.js에서 listen할 예정)
- 이후 app.route.get()과 같이 써줬던 app을 모두 router로 바꿔주면 된다!
- 이후, 해당 파일 맨 아래에 다음을 추가해주자.
module.exports = router;
2. app.js에서 연결
const express = require("express");
const app = express();
app.listen(3000);
const userRouter = require("./routes/users");
const channelRouter = require("./routes/channels");
app.use("/", userRouter);
app.use("/channels", channelRouter);
require를 통해 파일을 불러온다.
해당 파일에서 공통 url 주소가 있다면 app.use("주소","라우터명"); 주소 부분에 넣는다.
넣었다면 해당 라우트 파일에서는 중복되는 주소부분을 작성하지 않아도 된다.