TL; DR - Вы не можете обойтись без помощи упаковщика, такого как веб-пакет, если вы используете модули npm.
Большая часть экосистемы пакета node.js еще не готова к использованию собственного модуля.Около 99% опубликованных пакетов в npm в настоящее время используют систему модулей CommonJS для node.js, хотя очень мало модулей написано для поддержки esm (также синтаксис модуля ES).
esm shim предназначен для того, чтобы помочь последнему - если модуль, написанный на esm и импортируемый в текущую версию node.js, не поддерживает, это помогает разрешить эти модули.Противоположный случай не работает.Chromium может импортировать ваш код напрямую, который написан в собственном синтаксисе, а затем попытаться разрешить модуль зависимости, который вы указали и не смог разрешить как 1. он не знает, где разрешить (так как он не следует правилам разрешения модуля node.js)2. когда это будет доступно для разрешения, фактический импорт потерпит неудачу, потому что модуль будет экспортировать cjs вместо нативного.
Вернитесь к TL; DR выше - если предполагается достижение изоморфного кода для запуска в обоих процессах,используйте упаковщик соответственно.