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.