Введите имя пакета или #
sample-kit/feature превращается в ./feature с учётом поля name. Запрос #config переключает проверку на внутреннюю карту imports.
Версии и пакеты
Вставьте манифест и укажите вход: схема покажет первое подходящее условие.
Манифест остаётся в браузере: нет запросов к npm и отправки файлов.
Введите манифест package.json.
Разделяйте пробелами или запятыми. Полное поведение браузера и сборщика не моделируется.
Ввод или параметры изменились. Перед экспортом проверьте снова.
Когда import работает, а require выдаёт ошибку, порядок ключей условного экспорта бывает причиной. exports в package.json определяет, какая точка входа откроется при данном наборе условий.
Эта схема exports в package.json прослеживает один запрос. Для псевдонима # используется imports; содержимое целевого файла инструмент не читает.
Условный экспорт проверяется в порядке ключей JSON, а не в порядке выбранных условий. Схема отмечает пропущенные ветви и показывает, как ранний default скрывает import.
exports в package.json открывает . и ./feature потребителям. Запись #config в imports работает только внутри пакета; null означает явный запрет, а не пропавший файл.
sample-kit/feature превращается в ./feature с учётом поля name. Запрос #config переключает проверку на внутреннюю карту imports.
По умолчанию выбраны Node.js и import. Сравните require или добавьте условие. Автопроверка ждёт 350 мс; при выключении доступны кнопка и Ctrl/Cmd + Enter.
Сопоставьте ключ, порядок ветвей и цель. Диагностика пути не доказывает наличие файла. После изменения ввода старый отчёт нельзя копировать.
Поддерживаются корень, точный подпуть и шаблон *. Точный ключ имеет приоритет, более конкретный шаблон опережает общий, а null закрывает отдельную область.
Сравните import и require в Node.js. Добавьте browser, types или development для просмотра набора условий; это не полная эмуляция сборщика.
Локальная цель exports начинается с ./ и не выходит выше пакета через .. или node_modules. imports допускает цель в другом пакете.
Node перебирает ключи объекта по порядку и выбирает первую активную ветвь с целью. Ранний default может скрыть последующий import.
Когда задан exports, снаружи доступны только перечисленные подпути и подходящие шаблоны. null может запретить путь намеренно.
Переключите способ вызова при одном входе. Активные условия Node изменятся, но порядок ключей карты останется прежним.
Шаблон ./features/* берёт остаток запроса и подставляет его вместо * в цели. Точные ключи и более конкретные шаблоны имеют приоритет.
Нет. Здесь проверяется синтаксис цели; для подтверждения наличия и публикации надо изучить настоящие файлы пакета.
Vite может учитывать дополнительные условия и другие правила. Их можно добавить для предварительного просмотра, но полный результат сборщика здесь не воспроизводится.
Остался сложный случай?
Сравните import и require для одного входа и сохраните отчёт по ветвям для совместной проверки.