Eepress에 대한 기본 지식 --> 라우팅, 미들웨어, EJS

하이루·2021년 12월 1일
0
post-custom-banner

라우팅

ex) 게시판 주소와 게시판의 글을 클릭해서 나온 상세주소의 url은 서로 다름
--> 라우팅에 각각 여러가지 url을 설정
--> 이를 통해 각각의 url에 따라 다른 결과물을 보여줌

라우팅에 대한 예시

https://spartacodingclub.kr/online/webplus
https://spartacodingclub.kr/portfolio

두 주소는 같은 도메인 주소를 가지고 있지만 보여주는 페이지가 다름
--> url 주소의 뒷부분인 path 정보가 다르기 떄문

라우터가 path 정보에 따라 분기하는 방식

1) 도메인 주소만

app.get('/', (req, res) => {
res.send('Hello World!')
})

--> 해당 코드는 path가 '/'일 때의 분기(즉, 도메인 주소만 적었을 때의 분기)
--> 'hello world'를 송신

2) 도메인 주소 + path

app.get('/hi', (req, res) => {
res.send('Hi. This is express router')
})

해당 코드는 path가 '/hi'일 경우의 분기 (즉, 도메인 주소 뒤에 /hi를 붙여줬을 때의 분기)
--> 'Hi. This is express router'를 송신

http method --> 라우터의 경로구분에 영향을 미치는 또다른 요소

--> 우리가 해당 주소를 요청하는 방식에 대한 부분

-> 같은 주소라도 어떤 방식으로 요청하는지에 따라 응답을 다르게 할 수 있다.

--> get, post, delete 등등

간단한 예시)
get --> 해당 리소스 정보를 받겠다.

일반 브라우저에서 요청하는 행위가 다 get 요청으로 되어 있음 

post, put --> 해당 리소스에 해당하는 정보를 새롭게 추가하겠다. 또는 변경하겠다

delete --> 해당 리소스에 해당하는 정보를 지우겠다.

등등

http method 참고 (자세한 설명) : https://developer.mozilla.org/ko/docs/Web/HTTP/Methods

페이지의 이동

app.get('/', (req, res) => {
res.send('Hello World! <a href="/hi">Say Hi!</a>')
})

<a href="/hi">Say Hi!</a>
--> 이 부분이 링크로 나타남

미들웨어

--> 웹 프레임워크의 특징
--> 반복해서 자주해야하는 동작들을 간단하게 미리 처리 할 수 있도록 해줌

EJS

일반적으로 html의 경우 고정된 탬플릿 --> 만들어진 대로만 나타남
but
로그인, 로그아웃의 여부, 특정 조건(그 날 날씨에 따라 다른 이미지 보여주는 등) 와 같이 특정 상황에 따라 다른 화면을 보여줘야한는 경우가 생길 수 있음
--> 그 때 특정 상황에 맞게 html(고정된 탬플릿)에 조금씩 변화를 줄 수 있는 것이 EJS

profile
ㅎㅎ
post-custom-banner

0개의 댓글