* 정적서빙버그 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로 둔다음 이를 체크해주는 방법등이 생각남.
'JS > boostCamp' 카테고리의 다른 글
24.10.8. 개발일지 // 쿠키파서, db연결 , typeorm (0) | 2024.10.08 |
---|---|
24.10.5~7. 개발일지 // 회원가입구현, redirect, cookie, session, 인증 (0) | 2024.10.07 |
24.10.3. 개발일지 // MemberSaveController 구현, 프론트컨트롤러 v4구현, 유연한 컨트롤러 구현, 어댑터패턴, instanceof interface (0) | 2024.10.03 |
24. 10. 2. 개발일지 // 프론트컨트롤러 v3, 동적렌더링, mapToObj (2) | 2024.10.02 |
24. 10. 1. 개발일지 // 미들웨어, 프론트 컨트롤러, static serving, 동적렌더링 (0) | 2024.10.01 |