Nodejs - middleware,router

dev_swan·2022년 2월 9일
0

Nodejs

목록 보기
14/20
post-thumbnail

라우터

  • 정의
    app.get , app.post 같은것들을 라우터라고 합니다.
    get, post는 request method 라고 합니다

  • 역할
    라우터들의 역할은 요청 URL에 따라 미들웨어를 실행시켜 줍니다. 요청에 따른 처리를 하는 부분
    살짝 주문받는 웨이터 느낌..?

라우터를 분리하여 사용할 수 있습니다.

server.js 파일에 아래와 같이 router파일을 가져오고 app.use를 사용하고 실행하면

라우터 파일에 있는 라우터들도 실행시킬수 있습니다.

라우터는 실행순서가 있기 때문에 아래와 같이 똑같은 라우터를 두개를 만들면 먼저 쓴 라우터가 실행이 됩니다.

미들웨어

  • 정의
    (req,res)=>{res.render(`index`)}) 같은것들을 미들웨어라고 합니다.

  • 역할
    미들웨어의 역할은 주로 응답시 실행시킬 코드로 많이 사용합니다. 응답에 따른 처리를 하는 부분
    살짝 주문들어오면 요리하는 요리사 느낌..?

미들웨어를 변수에 빼서 변수를 넣어 사용할 수도 있습니다.

미들웨어를 분리해서 코드를 작성할 수 있습니다.

profile을 middleware.js에 따로 분리하여 사용한 모습

next()
아래와 같은 코드를 만들고 싶다면 router.js 파일과 profile.js 파일에 모두 console.log(돌아가)를 생성해줘야해서 매우 귀찮지만 이럴경우 next()를 활용하여 쉽게 만들수 있다.

이런식으로 미들웨어에 변수를 저장할때 3번째 인자값에 next를 추가하고 next()를 끝에 넣어주고

app.use(middle)로 실행을 해보면 이때 middle 앞에 (/)이것이 생략된것이다.

인자값이
1개일때는 / 생략가능
2개일때는 첫번째 인자값이 uri 두번째 인자값이 미들웨어
3개일때는 첫번째 인자값이 uri 두번째 인자값이 미들웨어 세번째 인자값이 미들웨어

(/) url을 들어가보면 이런식으로 돌아가가 계속 찍히게 된다.

0개의 댓글