JS/boostCamp
24. 10. 4. 개발일지 // 정적서빙버그 fix
Mini_96
2024. 10. 5. 00:46
* 정적서빙버그 fix
- 문제 :
- css, js 파일을 못찾아와서 text만 있는 html이 출력되는 버그
- write after end 버그
- 일단 어떻게 작동하는지 살펴보자
- 해결
- 일단 설계도에 따라 정적파일이 제공된경우 바로 return 되도록했다. (이를위해 미들웨어 밖으로 빼내야했다..)
- 결론부터 말하자면 fs의 동기/비동기 문제때문이었다.
- 추정 원인들
- mineType 미설정문제
- 브라우저에 렌더링되지않고 다운로드되는문제도 ContentType 설정문제였다.
- mineType 미설정문제
- fs의 비동기 문제
- 원래 await가 없어서 파일을 읽기전에 그냥 무조건 return false가 되는게 원인이었다.
- 문제는 앞으로 미들웨어를 추가할때마다 (ex : 세션검사, 권한검사 등) handleRequest 코드에 if ( session ) return 등을 추가해야된다는 점이다.
- 해결 ? : req의 filed값을 수정해 req.isEnded=true로 둔다음 이를 체크해주는 방법등이 생각남.