2장 컴포넌트 코드 스플리팅이 어떤 효과가 있는 건지 잘 모르겠습니다.
358
11 asked
안녕하세요? 좋은 강의 감사드립니다.
2장에서 모달 컴포넌트를 스플리팅 하고, 다른 컴포넌트들이 마운트된 이후에 모달 컴포넌트를 preload하는 것을 봤습니다.
다른 요소들이 마운트 된 이후에 preload하는 거랑 아예 애초에 스플리팅하지 않고 로드하는 거랑 어떤 차이가 있는지 잘 모르겠습니다.
Answer 2
1
안녕하세요, 류시명님.
코드 분할(Code Splitting) 에 대해서 질문을 주셨는데요.
코드 분할을 하지 않고 하나의 번들로 사용을 할 때는 처음 로딩부터, 당장은 필요하지 않은 모달 코드를 포함해서, 모든 코드를 불러오게 됩니다.
하지만, 코드 분할을 하게 되면, 처음에는 당장 필요 없는 모달 코드를 제외한, 당장 필요한 코드 먼저 로드하게 되기 때문에 더 빠르게 첫 화면을 렌더링 할 수 있게 됩니다.
예를 들어, 사이즈가 1000KB인 하나의 bundle.js로 된 서비스가 있다고 가정할 때,
이 중 200KB가 모달 관련된 코드라면,
코드 분할은 이 번들을 bundle.js (800KB) / modal.js (200KB) 이렇게 만들어 줍니다.
즉, 코드 분할 전에는 최초 화면을 렌더링하기 위해서 1000KB를 전부 로드해야 했지만,
코드 분할을 통해 800KB의 코드만 로드하면 최초 화면을 렌더링 할 수 있게 되는겁니다.
(당연히 1000KB를 로드하는 것 보다, 800KB를 로드하는게 더욱 빠르게 로드할 수 있겠죠?)
물론, 모달 기능을 사용할 때에는 결국 200KB를 로드할 필요가 있습니다.
이 경우, 모달 코드를 뒤 늦게 로드하게 되는 것이므로 오히려 이 포인트(모달을 띄우는 순간)에서 약간의 딜레이(200KB의 모달 코드를 로드하는 시간)가 생길 수 있겠죠?
preload는 이런 문제를 해결하기 위해서 적용을 할 수 있습니다.
모달 기능을 사용하는 순간에 모달 코드를 로드하는 것이 아니라, 더 이전의 순간(모달 띄우는 버튼에 마우스를 올리는 순간, 또는 첫 페이지가 모두 렌더링 된 후 메인 쓰레드에 여유가 있는 순간)에 모달 코드를 로드함으로써 최대한 분할된 모달 코드의 로드 시간을 단축시킬 수 있습니다.
답변이 도움되었기를 바라며, 강의에 관심을 가져주셔서 감사합니다. :)
bundle analyzer 에 대한 질문이 있습니다.
0
108
2
Cannot find module serve 에러
1
104
1
성능 탭에서 소요시간이 안보입니다
0
204
2
이미지 CDN 만드는 방법
0
459
1
Performance FPS 탭이 안보여요.
1
797
1
CPU throttling이 뭔가요?
0
1118
1
default export가 아닌 named export일 때 lazy사용법
1
1069
1
lazy적용하였는데 네트워크탭에 분리하여 보이지 않습니다
1
582
1
network 캐싱에 대해서 질문 있습니다!
1
426
1
vue project에서 chrome performance tab 확인하기
1
457
1
node version으로 인한 오류
4
1231
1
강의 자막
1
954
2
번들파일과 병목현상 질문
2
396
1
webpack-bundle-analyzer 질문
1
786
1
이미지 프리로딩 질문
1
385
1
이미지 최적화 활용
1
581
1
강력 새로고침
1
323
1
Suspense 관련해서 질문드립니다
2
360
1
config-overrides cant resolve path
1
362
1
이미지 preload 컴포넌트 preload 차이 질문드립니다.
1
611
1
custom react 환경에서 node_modules chunk 분리
1
380
1
removeSpeical 함수를 줄여야겠다고 하는 이유!
1
281
1
Factory pattern에 대해서 궁금한 점이 있습니다
2
364
2
텍스트 압축 방식에 대해 질문이 있습니다
2
950
1

