htmx 2.0.0: фокус на удобстве разработки и поддержке современных стандартов

htmx 2.0.0: фокус на удобстве разработки и поддержке современных стандартов

Отказ от устаревших методов в сторону упрощения программирования.

image

Опубликована новая версия популярной библиотеки htmx — 2.0.0, которая направлена на повышение удобства разработки. Несмотря на изменения релиза, основная функциональность и API библиотеки остаются прежними, чтобы обеспечить плавный переход для пользователей. Проект имеет открытый исходный код на GitHub под лицензией Zero-Clause BSD.

С окончанием поддержки Internet Explorer в новой версии, htmx 2.0.0 делает важный шаг в сторону современных веб-стандартов. Однако для тех, кто все еще использует устаревшие версии, версия 1.x останется актуальной до 1 января 2025 года. Официальный сайт уже обновлен с учетом новой версии, хотя npm-пакет по-прежнему будет предлагать версию 1.x как основную.

Все расширения библиотеки теперь вынесены в отдельный репозиторий и сайт. Это позволит разработчикам обновлять и развивать расширения независимо от основного релиза библиотеки. Большинство расширений версии 1.x совместимы с новой версией, за исключением SSE, которое требует обновления.

Важно отметить, что устаревшие атрибуты hx-sse и hx-ws удалены, и вместо них рекомендуется использовать новые расширения. Старые версии расширений по-прежнему доступны в каталоге /dist/ext, чтобы не нарушать работу существующих ссылок CDN.

Также изменен формат HTTP DELETE запросов, которые теперь используют параметры, а не form-encoded тела, что соответствует спецификациям. Для пользователей, которым необходимо сохранить старый формат, предусмотрена возможность настройки.

В новой версии улучшена поддержка модулей JavaScript. Теперь в каталоге /dist доступны файлы для различных стилей модулей:

  • ESM Modules: /dist/htmx.esm.js
  • AMD Modules: /dist/htmx.amd.js
  • CJS Modules: /dist/htmx.cjs.js

Файл /dist/htmx.js остается доступным для загрузки в браузере. Атрибут hx-on был упразднен в пользу менее сложного синтаксиса hx-on:.

Конфигурация по умолчанию также претерпела некоторые изменения. Параметр htmx.config.scrollBehavior теперь установлен на 'instant', а не 'smooth'. Также изменилось поведение запросов DELETE, которые теперь по умолчанию используют параметры запроса, а не form-encoded тело. Для тех, кто предпочитает старый формат, доступна настройка htmx.methodsThatUseUrlParams. По умолчанию, htmx.config.selfRequestsOnly теперь установлено на true.

Среди новых возможностей можно отметить замену внутреннего метода selectAndSwap() на более удобный общедоступный метод swap(). Значительно улучшена поддержка Web Component. И, пожалуй, самое заметное изменение — сайт htmx теперь поддерживает тёмный режим.

Для пользователей, которые планируют переход на новую версию, доступно подробное руководство по миграции с htmx 1.x на 2.x. htmx 2.0.0 можно установить через менеджер пакетов, указав версию 2.0.0, либо подключить через CDN:

<script src="https://unpkg.com/htmx. org@2.0.0 /dist/htmx.min.js"></script>

Также доступна возможность загрузки напрямую с сайта.

Большой брат следит за вами, но мы знаем, как остановить его

Подпишитесь на наш канал!