목록 보기
집 나간 네트워크는 돌아왔는데 React.lazy는 왜 안 돌아올까
프론트엔드

집 나간 네트워크는 돌아왔는데 React.lazy는 왜 안 돌아올까

우아한 형제들
우아한 형제들
2026년 9월 15일

두줄요약

네트워크 복구 후에도 React.lazy 재시도가 막히는 이유를 모듈 맵 캐시로 설명했습니다. 정적 import 전환과 사전 로딩으로 오류를 해결했습니다.

문제 상황

  • 배민주문접수 웹뷰에서 네트워크 OFF 후 ON으로 바꾼 뒤 다른 화면 이동 시 오류 화면이 반복 노출되는 현상
  • React.lazy 재시도, 쿼리스트링 변경, 새로고침 모두 실사용 제약이나 브라우저 동작 때문에 실패

원인 분석

  • dynamic import 실패가 브라우저의 모듈 맵에 기록되어 같은 URL 재호출도 즉시 거부
  • 실패 상태가 document 단위로 유지되어 React.lazy 바깥의 캐시 문제로 이어짐
  • 공유 청크나 정적 경로가 빌드 결과에 고정되어 실행 중 주소 변경도 한계 존재

해결 방법

  • 화면 단위 React.lazy 제거 후 정적 import로 전환하고 manualChunks로 번들 크기 완화
  • import() 전에 fetch()로 연결 상태를 먼저 확인하고, 부팅 직후 주요 화면을 미리 로딩
  • React.lazy 직접 사용을 린트 규칙으로 차단해 재발 방지

다음 읽기

#Vite 주제를 이어서 읽기

Vite로 구버전 브라우저 지원하기

Vite 레거시 플러그인으로 구버전 Safari와 Chrome의 흰 화면 문제를 해결한 사례를 다루었습니다. targets 설정만으로는 부족해 modernPolyfills를 함께 조정한 과정도 설명했습니다.

우아한 형제들
우아한 형제들
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...