intermediate

Разрешение модулей

URL в браузере, разрешение пакетов в Node, exports maps, алиасы бандлеров и ESM/CJS interop.

Разрешение сопоставляет import specifier с файлом или entry пакета. Браузеры грузят URL (или import maps). Node читает `exports`, `main`, `module` в package.json, расширения и режим ESM/CJS.

Бандлеры добавляют алиасы и virtual modules. Path alias в Vite не понятен Node или Jest, пока каждый инструмент не настроен.

`exports` maps могут блокировать deep imports во внутренности пакета.

На интервью объясняйте концепцию на конкретном примере и называйте поведение рантайма, которое проверяют.

Типовые ошибки: путать похожие API и забывать edge cases в live coding.

Компромисс часто между ясностью и производительностью или между безопасностью и удобством.

Чеклист:

  • Определите resolver рантайма.
  • Проверяйте package exports перед deep imports.
  • Настройте алиасы во всей цепочке инструментов.