2022. 12. 20. 15:35ㆍ공부/Javascript
문제) /, /about, /contact, /login 4개의 주소에 대응하는 페이지 라우팅을 express를 이용해 구현하라.
express에 대해서 복습하는 챌린지였는데, 너무 오래전에 했던 거라 기억이 잘 나지 않았다.
[Youtube 클론코딩] Express 라우팅 (tistory.com)
[Youtube 클론코딩] Express 라우팅
서버와 리퀘스트 서버는 24시간동안 연속해서 켜져있으며 웹페이지의 정보를 담고있는 일종의 컴퓨터이다. 웹페이지에 접근하기 위해서는 브라우저 주소창에 해당 웹페이지의 도메인 주소나 IP
riam.tistory.com
이전에 올렸던 포스팅들을 보면서 다시 복습했고, 이제야 Express 라우팅에 대해서 이해하게 된 것 같다.
1. 서버 구동하기
express는 express()를 통해 하나의 서버를 생성하고, listen()을 통해 서버를 구동한다.
listen(portNumber, handler)는 첫 번째 매개변수로 포트번호를 설정할 수 있는데,
설정하지 않으면 비어있는 포트를 랜덤하게 하나 지정해 서버를 연다.
두번째 매개변수 handler는 서버를 실행하기 전 실행할 명령어를 넣어줄 수 있다.
2. 라우팅 설정하기
express는 get 또는 post방식의 라우팅을 지원한다.
app.get('라우팅 주소', 컨트롤러) 와 같은 방식으로 사용한다.
3. view page 렌더링하기
Express는 다양한 Template Engine을 지원한다.
Template Engines (expressjs.com)
Template Engines
Template engines Warning: The packages listed below may be outdated, no longer maintained or even broken. Listing here does not constitute an endorsement or recommendation from the Expressjs project team. Use at your own risk. These template engines work
expressjs.com
따라서 Express에 어떤 view engine을 사용할 것인지를 알려주어야 한다.
이는 app.set('view engine', 'pug') 로 가능.
또, 기본적으로 express는 루트 경로의 /views 폴더에서 이름이 같은 템플릿 페이지들을 불러오므로
자신이 지정한 경로의 폴더에서 템플릿 페이지들을 불러오게 바꾸어줄 필요가 있다.
이는 app.set('views', '원하는 경로') 로 가능하다.
이 때, path 패키지와 __dirname을 이용하면 현재 경로를 활용할 수 있다.
'공부 > Javascript' 카테고리의 다른 글
[Youtube 클론코딩] Webpack 알아보기 (0) | 2022.11.26 |
---|---|
[Youtube 클론코딩] Video 업로드, mongoose populate, 접근제어 (0) | 2022.11.24 |
[Youtube 클론코딩] 파일 업로드, Multer 미들웨어, 프로필 사진 수정 (0) | 2022.11.23 |
[Youtube 클론코딩] 비밀번호 변경, bcypt의 원리 (1) | 2022.11.23 |
[Youtube 클론코딩] 프로필 수정 기능 (0) | 2022.11.22 |