해결된 질문
작성
·
183
0
안녕하세요!
9장에서 nodebird를 다시 따라 만들다가 의문점이 생겨서 질문 드립니다.
app.js를 처음 실행하면 require부터 쭉 받아오기 시작해서
app.use(express.static(path.join(__dirname, 'public')));
까지 실행되고 정적 파일인 css를 받아오면서 밑에있는 미들웨어를 실행하지 않는다고 이해했는데
그러면 html파일은 밑에 있는 라우터에서 렌더가 되는데 어떻게 http://localhost:8001/에 들어가면 메인 화면이 출력이 되는건가요??
답변 1
1
localhost:8001을 요청하면 get('/') 라우터에서 res.render나 res.sendFile로 html을 줄거고요.
화면이 렌더링되면 html을 읽고 브라우저가 css 요청을 다시 보내서 express.static으로 전송합니다.
순서를 헷갈리신 것 같은데 css보다 html 화면 요청이 더 먼저입니다.