intermediate
Tree shaking и dynamic imports
Удаление мёртвого кода, side effects, code splitting, ленивая загрузка и момент импорта.
Tree shaking удаляет неиспользуемые экспорты, когда граф модулей статически анализируем и side effects объявлены (`"sideEffects": false` в package.json).
`import('./chunk.js')` загружает код асинхронно — для code splitting на уровне маршрутов. Нужны состояния загрузки и ошибки.
Слишком много мелких chunks вредит производительности из-за лишних сетевых round trips.
На интервью объясняйте концепцию на конкретном примере и называйте поведение рантайма, которое проверяют.
Компромисс часто между ясностью и производительностью или между безопасностью и удобством.
Чеклист:
- Используйте ESM для статического анализа.
- Точно отмечайте side effects в пакетах.
- Обрабатывайте loading/error для dynamic import.