Рассмотрим паттерн module/nomodule, который позволяет разделить загрузку скриптов для старых и новых браузеров.
Разделение скриптов JS таким образом позволяет автоматически загружать отдельный бандл в современных браузерах, а в IE11 и других устаревших браузерах – бандл для IE11.
Короткий и простой пример:
<script type="module" src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js"></script>
<script nomodule src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine-ie11.min.js" defer></script>
К сожалению, не всё так просто. Показанный выше подход на основе HTML инициирует перезагрузку скриптов в Edge и Safari.
Более детальные варианты решения задачи есть тут https://habr.com/ru/company/raiffeisenbank/blog/473994/
оцените контент и участвуйте в выборе трендов
Источник: https://wpcraft.ru/blog/module-nomodule-javascript/