Какие исключения есть в Bundle React?
Компоненты
Вопрос сформулирован нестандартно; на собеседовании его стоит уточнить. Разумных прочтений два: что не попадает в бандл React-приложения и исключения (ошибки) при загрузке чанков.
Прочтение 1: что исключается из бандла
- Серверный код: серверные компоненты (RSC) и их зависимости никогда не едут в браузер; код внутри
if (typeof window === 'undefined')вырезается сборщиком. - peerDependencies библиотек: React из UI-пакета не бандлится — берётся из приложения (иначе два React ломают хуки).
- devDependencies и тесты: не входят в production-бандл.
- Dead code: tree-shaking выбрасывает неиспользуемые экспорты (при
sideEffects: falseи ESM); dev-only ветки (process.env.NODE_ENV !== 'production') — вырезаются минификатором вместе с dev-предупреждениями React. - Отложенный код: React.lazy/динамические импорты выносят чанки из основного бандла — грузятся по требованию.
- externals: библиотеки, подключаемые из CDN, исключаются конфигом сборщика.
Прочтение 2: исключения при загрузке чанков
Ленивый чанк может не загрузиться: сеть, старый деплой (файл с прежним хешем удалён). Ошибка всплывает в Error Boundary — типовое лечение: fallback с перезагрузкой страницы и retry-обёртка над import().
Коротко для собеседования
Уточнить вопрос. Из бандла исключаются: серверный код и RSC, React в peerDependencies библиотек, dev-зависимости и dev-ветки (NODE_ENV), неиспользуемые экспорты (tree-shaking), лениво загружаемые чанки (React.lazy) и externals из CDN. Если речь про исключения-ошибки — падение загрузки чанка ловится Error Boundary, лечится retry/перезагрузкой.