인프런 커뮤니티 질문&답변

hxhxhx님의 프로필 이미지
hxhxhx

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

express-session 미들웨어

미들웨어 확장 쪽 에서 문법

작성

·

238

0

app.use('/',express.static(path.join(__dirname,'public')));

여기서 expres.static(path.join(~~~) 이 부분은 현재 콜백함수기 때문에 함수의 이름이나 선언이 들어가야하는 부분인데, 저렇게 path.join(__dirname, 'public)으로 매개변수가 들어가있는 것은 express.static의 return값 자체가 함수라고 이해하면 될까요? 마치 고차함수처럼요.

 

만약 그런거라면,

app.use('/',(req,res,next)=>{
    if(req.session.id){
        // 만약 세션아이디가 있으면 => 로그인한 사용자라면
        
        // '/'이하로 로 온 모든 요청에 대해 static 미들웨어를 실행한다.
        express.static(__dirname,'public')(req,res,next)
    }
})

이 코드에서는 express.static(__dirname, 'public')부분이 함수명이나 다름없고, (req, res, next)라는 인수를 집어넣어서 함수를 호출한거라고 이해해도 되나요?

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 정확합니다! 고차함수입니다.

hxhxhx님의 프로필 이미지
hxhxhx

작성한 질문수

질문하기