jquery slim ведет себя странно [дубликат]

Вот мой подход к его решению. Объявите свои классы C # с атрибутом, и будут создаваться файлы .d.ts (с использованием преобразований T4). Существует пакет на nuget , а источник доступен на github . Я все еще работаю над проектом, но поддержка довольно обширна.

298
задан PariSh KhAn 12 January 2017 в 09:30
поделиться

5 ответов

Глядя на код, я обнаружил следующие различия между jquery.js и jquery.slim.js:

В jquery.slim.js удаляется следующая функция кода:

  1. jQuery.fn.extend
  2. jquery.fn.load
  3. jquery.each // Прилагает кучу функций для обработки общих событий AJAX
  4. jQuery.expr.filters.animated
  5. параметры ajax, такие как jQuery.ajaxSettings.xhr, jQuery.ajaxPrefilter, jQuery.ajaxSetup, jQuery.ajaxPrefilter, jQuery.ajaxTransport, jQuery.ajaxSetup
  6. xml parsing как jQuery.parseXML,
  7. анимационные эффекты, такие как jQuery.easing, jQuery.Animation, jQuery.speed
212
ответ дан Bhojendra Nepal 19 August 2018 в 07:26
поделиться
  • 1
    В тонком источнике 3.x я все еще вижу, что jQuery.fn.extend используется для добавления методов к завернутым наборам. Вы ссылались на что-то еще в №1? – cantera 23 July 2016 в 02:21
  • 2
    Стоит отметить, что Bootstrap 4 нацелен на jQ slim release. Анимация, вероятно, самая большая точка разлома, но большинство из них можно сделать лучше и быстрее, используя CSS3 в любом случае. – Josh Habdas 20 March 2017 в 07:58
  • 3
    Что вы имели в виду под «jQuery.each»? jQuery.each не был удален в jQuery 3 slim – Chris Moschini 7 October 2017 в 14:02
  • 4
    @ChrisMoschini См. Комментарий сразу после jquery.each в моем ответе, удалены события ajax – Bhojendra Nepal 7 October 2017 в 14:47
  • 5
    Возможно, вы захотите отредактировать ответ, чтобы выразить это по-другому - например, jquery.each здесь, в списке удаленных, сбивает с толку. – Chris Moschini 7 October 2017 в 14:49

Блог jQuery, jQuery 3.1.1 выпущен! , говорит:

Slim build

Иногда вам не нужен ajax, или вы предпочитаете использовать одну из многих автономных библиотек, которые ориентированы на запросы ajax. И часто проще использовать комбинацию CSS и манипулирования классами для всех ваших веб-анимаций. Наряду с обычной версией jQuery, которая включает модули ajax и effects, мы выпустили «тонкую» версию, которая исключает эти модули. В целом, он исключает ajax, эффекты и в настоящее время устаревший код. Размер jQuery очень редко связан с нагрузкой в ​​эти дни, но тонкая сборка составляет около 6 килограммов, размер которых меньше, чем обычная версия - 23.6k против 30k.

9
ответ дан ChrisW 19 August 2018 в 07:26
поделиться

В этот момент наиболее авторитетный ответ, похоже, содержится в этой проблеме , в которой говорится: «Это пользовательская сборка jQuery, которая исключает эффекты, ajax и устаревший код». Подробности будут объявлены с помощью jQuery 3.0.

Я подозреваю, что обоснование исключения этих компонентов библиотеки jQuery является признанием все более распространенного сценария использования jQuery в сочетании с другой инфраструктурой JS, такой как Angular или React. В этих случаях использование jQuery предназначено в первую очередь для обхода и манипулирования DOM, поэтому исключая те компоненты, которые либо устарели, либо обеспечиваются картой, что примерно на 20% уменьшает размер файла.

34
ответ дан gxclarke 19 August 2018 в 07:26
поделиться
  • 1
    Также могут использоваться разработчики, которые используют современные функции, такие как fetch(), которая является современной заменой для XMLHttpRequest (AJAX). – Fred 30 October 2016 в 11:34

Краткий ответ, полученный из анонса окончательной версии jQuery 3.0 :

Наряду с обычной версией jQuery, которая включает модули ajax и effects, выпуская «тонкую» версию, исключающую эти модули. В целом, он исключает ajax, эффекты и текущий устаревший код.

Размер файла (gzipped) примерно на 6k меньше, 23.6k против 30k.

246
ответ дан Jannie Theunissen 19 August 2018 в 07:26
поделиться
  • 1
    Спасибо за полезную информацию о размере @ryenus – Jannie Theunissen 1 March 2017 в 09:36

Я видел, как $.ajax удаляется из jQuery slim 3.2.1

Ниже приведен комментарий из тонкой версии с удаленными функциями

/*! jQuery v3.2.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
9
ответ дан kiranvj 19 August 2018 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: