작성
·
191
0
노드버드를 만들다 궁금증이 생겨 질문합니다
저희가 static을 배울때 분명 지정된 폴더의 정적인 파일들을 브라우저에서 접근할 수 있도록 하는 기능이 있습니다
그리고 파일이 없으면 next를 호출하지만 파일이 있으면 응답으로 파일을 보내고 다음 미들웨어를 실행하지 않습니다
제 궁금증은 app.js 파일의
app.use(express.static(경로는'public'));
이 코드에서 public폴더에는 main.css가 있고 그렇다면 css를 보내고 다음 미들웨어를 실행하지 않는 것이 맞지 않나요?
네트워크로 찾아보니 로그인 전에는 views폴더의 layout.html이 실행되던데 이유가 궁금합니다.
또 로그인 이후에도 main.css가 네트워크에 있던데 왜 static 아래에 있는 미들웨어가 실행되는 것인가요?
경로가 uploads폴더인 경우도 마찬가지로 왜 요청경로에 파일이 있으면서도 왜 다음 미들웨어가 실행되는 건가요?
답변 1
0
다음 미들웨어가 실행된다는 것을 어떻게 확인하셨나요?
main.css를 불러오는 요청이랑 layout.html을 불러오는 요청이랑 서로 다른 요청입니다. 둘이 다른 요청인데 하나의 요청이라고 착각하신 건 아닐까요.
로그인 한 이후에 main.css가 뜬다는 게 무슨 말씀이신지 잘 모르겠습니다.
로그인 한 이후에 main.css가 뜨면 안 되는 이유는 뭔가요? 로그인된 화면에서도 main.css를 불러오는데요?
코드를 보면 세션을 불러오는 코드가 static 미들웨어보다 아래에 있는데
static미들웨어가 실행됨에도 불구하고 세션 불러오는 코드가 왜 실행되는지 궁금합니다
로그인 한 이후에도 main.css가 뜨던데
로그인 하면 패스포트로 세션을 연결해서 로그인 된 화면을 보여주지 않나요?
app.use(passport.session()); 랑 app.use('/',pageRouter); 이 실행되는 것이 아닌가요?