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.
- Настройте алиасы во всей цепочке инструментов.