jQuery 4.0: модульная архитектура и избавление от устаревшего кода спустя 10 лет
-
jQuery 4.0 наконец вышла спустя почти десять лет после версии 3.0. Эта версия фокусируется на модульной архитектуре и полном избавлении от устаревшего функционала. Разработчики убрали код, который давно заменен нативным JavaScript, сделав библиотеку легче и современнее.
Переход важен для проектов, где jQuery еще используется. Он решает проблемы совместимости с новыми сборщиками и политиками безопасности. Теперь библиотека лучше вписывается в современные workflows, без лишнего груза из прошлого.
Модульная архитектура на ES-модулях
jQuery 4.0 полностью переписана на ECMAScript Modules (ESM). Это значит, что исходный код теперь поставляется как модули, а не в старом формате AMD. Раньше для импорта требовался RequireJS, но теперь jQuery работает напрямую с Vite, webpack и Rollup. Такой подход упрощает интеграцию в современные бандлеры и браузеры.
Миграция на ESM - это шаг к стандартизации. Библиотека тестируется на модулях отдельно, что повышает надежность. Размер после сжатия сократился, а разработка стала удобнее. Переход касается всех сборок, включая slim-версию.
Вот ключевые изменения в модульной структуре:
- Переход с AMD на ESM: Исходники мигрированы, поддержка Rollup для упаковки.
- Совместимость с бандлерами: Автоматическая обработка в Vite и webpack без хаков.
- Отдельные тесты для модулей: Гарантия стабильности в новых окружениях.
Сборка Размер (gzip) Что убрано Полная 27.5 КБ Устаревшие API, старые браузеры Slim 19.5 КБ AJAX, анимации, Deferreds/Callbacks Избавление от устаревших API и функций
В jQuery 4.0 удалены десятки deprecated API, которые давно имеют нативные альтернативы. Например, убраны
jQuery.isArray,jQuery.trim,jQuery.parseJSON. Эти методы заменены стандартнымиArray.isArray,String.prototype.trim,JSON.parse. Код стал чище, а библиотека - меньше на 3 КБ в gzip.Удаление затрагивает и внутренние методы, вроде
Array.push,sort,spliceв объектах jQuery. Это нарушает обратную совместимость, но большинство проектов мигрируют легко. Для помощи есть миграционный плагин. Такие изменения избавляют от legacy-кода, накопленного за годы.Удаленные API и их замены:
jQuery.isArray()→Array.isArray()jQuery.trim()→str.trim()jQuery.parseJSON()→JSON.parse()- Внутренние Array методы: Полностью убраны для оптимизации.
Важный нюанс: Если код использует удаленные методы, нужен рефакторинг. Плагин миграции подскажет проблемы.
Удалено Альтернатива Причина isArray Array.isArray Нативная поддержка с ES5 trim str.trim() Стандарт с 2009 года parseJSON JSON.parse Встроено в браузеры Обновления безопасности и браузерной поддержки
jQuery 4.0 добавила поддержку Trusted Types для защиты от XSS-атак. Теперь методы вроде
.html()принимают объектыTrustedHTML, что идеально для строгих CSP. Это решает проблемы с DOM-манипуляциями и eval(). Библиотека теперь совместима с современными политиками безопасности.Поддержка браузеров сокращена: нет IE10 и старше, старых Edge, iOS<11, Firefox<65. IE11 пока остается, но уйдет в jQuery 5. Порядок событий focus/blur приведен к W3C-стандарту: blur → focusout → focus → focusin. Slim-сборка убрала Deferreds, полагаясь на нативные Promises.
Ключевые улучшения:
- Trusted Types: Защита от DOM XSS при вставке HTML.
- CSP-совместимость: Нет конфликтов со строгими политиками.
- События фокуса: Стандартный порядок без хаков.
Браузер Поддержка в 4.0 IE10 Нет IE11 Да (пока) Edge Legacy Нет Современные Полная Slim-сборка: максимальная легкость
Slim-версия jQuery 4.0 стала еще легче - всего 19.5 КБ gzip. Убраны модули AJAX, анимаций, Deferreds и Callbacks. Теперь для асинхронности используйте нативные Promises. Это идеально для проектов с базовыми DOM-операциями.
Изменения делают slim-сборку минималистичной. Полная версия сохраняет все, но и она оптимизирована. Выбор зависит от нужд: если AJAX не нужен, берите slim. Тесты подтверждают стабильность обеих.
Преимущества slim:
- Размер 19.5 КБ: На 3 КБ меньше предыдущей.
- Без AJAX/effects: Только DOM-манипуляции.
- Promises вместо Deferreds: Стандартный API.
Версия Размер Модули Полная 27.5 КБ Все Slim 19.5 КБ Базовые Что jQuery 4.0 меняет в проектах
jQuery 4.0 закрывает десятилетний цикл обновлений, сделав библиотеку актуальной для 2026 года. Остались нюансы миграции для legacy-проектов и полное удаление IE-поддержки в будущем. Стоит оценить, нужен ли jQuery или хватит vanilla JS для новых задач.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.