Браузер: module script + URL-like specifiers (или import map). Node: свои правила ESM/exports. Бандлеры — алиасы. Импорт «у меня локально» ≠ гарантия в другой среде.
Итог: ESM = явный контракт export/import; знайте разницу static vs dynamic и host-resolution.
Как импортировать и экспортировать модули в JavaScript? · Sobeso