intermediate

Code splitting

Делите JavaScript по route, component или capability, управляя cache behavior, риском waterfall и UX.

Code splitting уменьшает начальный JavaScript, вынося менее срочный код в chunks по маршруту, компоненту, возможности или взаимодействию. Лучше всего, когда границы chunks следуют пользовательским сценариям и переиспользованию кэша. Переразбиение даёт waterfalls запросов, дубли зависимостей и задержку interactions.

					const AdminPanel = lazy(() => import('./AdminPanel'));
// prefetch вероятного следующего маршрута при hover или idle
				

Общие vendor chunks улучшают cache hit; слишком мелкие chunks добавляют RTT. Ошибки загрузки chunk показывайте с retry.

На интервью: влияние splitting на TTI, кэш, prefetch и состояния loading/error.

Типовые ошибки: split компонента, нужного сразу, только добавляет overhead; сбои dynamic import без recovery.

Компромисс: удобство против контроля — выбирайте механизм под вашу связность и бюджет производительности.

Чеклист:

  • Split по реальным сценариям.
  • Избегайте цепочек chunk waterfalls.
  • Prefetch следующих маршрутов.
  • Показывайте и обрабатывайте ошибки chunk.