awesome-everything EN
↑ Обратно к восхождению

Архитектура фронтенда

Code splitting: тест с множественным выбором

Суть Синтез по всему юниту code splitting в формате множественного выбора — латентностный размен, разбивка по маршрутам vs по компонентам, request waterfall, кэширование vendor-чанка и resource hints.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 13 min

Шесть вопросов поперёк всего юнита. Ни один не просит определение — каждый отражает решение по разбивке, которое ты принимаешь под реальным бюджетом латентности, где неверный выбор деградирует LCP или заставляет заново скачивать React на каждом деплое.

Цель

Убедись, что связываешь латентностный размен, правило «маршрут vs компонент», request waterfall, кэширование vendor-чанка и resource hints — синтез, к которому вёл обзор.

Викторина

Команда оборачивает каждую панель дашборда в React.lazy. Анализатор показывает 40 чанков, ни один больше 12 KB, но полевой LCP на 4G деградирует с 2.3s до 4.1s. Что доминирующая причина?

Викторина

Можно разбить ровно одну вещь на странице. Какой кандидат — самый высокорычажный и низкорисковый split?

Викторина

Ревьюер заявляет: «HTTP/2 multiplexing делает бандлинг устаревшим, так что дроби как угодно гранулярно». В чём он неправ?

Викторина

Вернувшиеся пользователи заново скачивают React на каждом деплое, хотя зависимости не менялись. Самая вероятная причина?

Викторина

Интерактивный viewer на 180 KB лежит под сгибом и открывается, только когда пользователь до него прокрутит. Лучшая стратегия загрузки для аудитории на 4G?

Викторина

В чём практическая разница между rel='preload' (или modulepreload) и rel='prefetch' для чанков?

Итог

Сквозная линия юнита — одно дерево решений: разбивка это латентностный размен, а не бесплатное сокращение размера, поэтому вопрос всегда в том, сколько последовательных round trip’ов ты добавил на критический путь. Разбивай по маршрутам по умолчанию (ограниченный waterfall, дефолт фреймворка); разбивай компонент только если он тяжёлый и не на первой отрисовке; никогда не разбивай мелкий контент над сгибом. Именно waterfall, а не число байт, проигрывает на 4G, и HTTP/2 его не спасает. Защити кэширование content-hashed vendor-чанком с вынесенным runtime, и используй preload для критичных сейчас чанков, prefetch — для вероятно-следующих навигаций.

Продолжить восхождение ↑Code splitting: свободное припоминание
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.