• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

app.use() 문법에서 next메서드 사용 질문드립니다.

20.11.20 10:07 작성 조회수 236

0

nodejs 유료강의중에 올라왔던 부분입니다. express 사용법 부분이요.!

app.use()를 사용하여 어떤 라우트 요청이 들어와도 무조건 실행하고 싶은 코드를 최상단에 use 메서드를 사용해서 처리할 수 있다고 하셨었는데, 그러면서 동시에 next() 함수를 인자로 받아와서 작성해줘야지만 아래 코드가 순차적으로 실행된다고 배웠습니다.

그런데 뒤에 강의를 듣다보니 아래와같이

코드 최상단에 이렇게 작성하셨는데  next()함수 없이도 이렇게 작성하여도 아래 코드가 실행됩니다. 

next() 함수를 사용해야되는때가 미들웨어를 설정해주었을때만 그러니까 콜백함수라고 해야되나요? 정확한 명칭은 미들웨어라고 아는데 (req, res, next) => { } 이러한 미들웨어를 작성했을때만 next() 함수를 사용해주면 되는것인가요?

그리고 한가지 더 궁금한점이 있습니다. app.get('./user', (req, res, next)=>{ }) 이부분의 코드를 라우터라고 부르는게 맞을까요? 아니면 미들웨어라고 칭하는게 맞는것인가요?

좋은강의 해주셔서 매번 감사드립니다.

답변 1

답변을 작성해보세요.

1

express.json(), express.urlencoded(), morgan(),  express.static()같은 것들은 다 내부적으로 next를 호출합니다.

(req, res, next) => {}는 우리가 직접 만드는 미들웨어라서 필요할 때 next를 직접 호출해야 합니다.

app.get은 라우터이고, (req, res, next) => {}가 미들웨어입니다.