module & nomodule — загрузка JavaScript для современных браузеров и поддержка старых

Рассмотрим паттерн module/nomodule, который позволяет разделить загрузку скриптов для старых и новых браузеров.

Разделение скриптов JS таким образом позволяет автоматически загружать отдельный бандл в современных браузерах, а в IE11 и других устаревших браузерах – бандл для IE11.

Короткий и простой пример:

<script type="module" src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/dist/alpine.min.js"></script>
<script nomodule src="https://cdn.jsdelivr.net/gh/alpinejs/[email protected]/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/

Анатолий Юмашев

Настоящий шаман, планирует жить до 150 лет. Родом из Тюмени, жил в Санкт-Петербурге, Москве и землянке (по его словам). Думает, что знает WordPress лучше всех в мире, кроме еще 10 человек. Делает всякие безумные вещи, которые иногда даже работают. Может зарядить или полностью отнять энергию у 50 человек. Один из ярких участников российского WordPress сообщества, а также создатель самого продаваемого и обсуждаемого плагина для синхронизации Woocommerce и МойСклад. Умеет исчезать сквозь землю. Любит WordPress, кальян, сигары и Льва Толстого. Может жить и работать вообще без еды. Делает сайты от 10 млн рублей.

Добавить комментарий

%d такие блоггеры, как: