eunsol
293
2021-06-01 17:54:22
3
116

node.js 미들웨어 확장


app.use('/', (req,res,next)=> {
    express.static(__dirname,'public')(req,res,next)
})

위에서  express.static()()    static호출 리턴하고 리턴해준함수에 다시(req,res,next) 를 해주는건가요?

0
  • 답변 3

  • ruinnel
    605
    2021-06-01 18:03:10 작성 2021-06-01 18:04:07 수정됨

    보통 미들웨어는 req / res에 attribute를 추가하거나 변경하고 나서 next()를 호출하는 방식입니다.

    하시려는게 미들웨어 인가요?...

    미들웨어가 아니라.. static resource를 반환하는 endpoint를 만드시려는거 같은데...

  • eunsol
    293
    2021-06-01 18:52:48

    @ruinnel


    제로초님 node.js 교과서 강의보는중에 


    위에서 말한 

    app.use('/', (req,res,next)=> {
        express.static(__dirname,'public')(req,res,next)
        
        
    })

    이 코드를 미들웨어 확장이라고 하셧는데  express.static() 호출 하고 리턴된 function에 다시 (req,res,next) 호출하는걸로보여서 미들웨어를 확장한다는게 뭔지잘모르겟습니다.

  • 캐티
    5k
    2021-06-01 19:08:40

    expressjs 에서 모듈들은 여러 체인을 걸 수 있쩌.

    이 기반은 next를 콜백해주면 구성해놓은 다음 모듈을 실행합니다. 만일 경로에 파일이 없는 경우라면 페이지 없음 같은 처리를 하는거저.

    위에 소스에서 static 에 리턴은 없스빈다. 콜백된 루틴에서 static 을 실행 하는것이어여.

    확장 한다는게 의미는 static 으로 넘겨서 처리를 하게 하는거빈다. static 이 처리를 하지 못하면 next 로 돌리저.

  • 로그인을 하시면 답변을 등록할 수 있습니다.