hmu332233 / tips

https://tips.minung.dev
1 stars 0 forks source link

멀티 컴파일러 환경에서의 HMR (webpack) #43

Open hmu332233 opened 1 week ago

hmu332233 commented 1 week ago

keyword webpack

hmu332233 commented 1 week ago

이슈

원인 분석

해결

해결 방안을 인지한 상태에서 다시 한번 원인 분석

webpack-hot-middleware/client?name=client&reload=true

원인 플로우

  1. 모든 앱들이 client로 신호를 보냄
  2. devServer는 특정 앱만을 위해 켜져있는 상태
  3. devServer가 처리하지 못하는 영역에 대해서 신호가 오니 reload 옵션에 의해 브라우저는 새로고침을 함
  4. 새로고침 되었으나 여전히 같은 이슈를 가지고 있으므로 다시 새로고침
  5. 반복

그래서 수정은?

{ name: client // 기존 name: appName // 변경: 각 앱마다 분리된 이름을 가지도록 처리 }

webpack-hot-middleware/client?name=client&reload=true // <- 기존: 모든 앱이 client로 고정 webpack-hot-middleware/client?name=${appName}&reload=true // <- 변경: 각 앱마다 올바른 name 가지도록 처리