Na CDNJS umieszczona jest paczka jquery.slim. Ma mniejszy rozmiar. Jakie są główne różnice w stosunku do oryginału? Szybkie spojrzenie na kod nie przyniosło odpowiedzi, a na stronie jquery.com nie znalazłem żadnego odniesienia do slim
pakietu.
Więc jakie są różnice między jquery.js i jquery.slim.js?
jquery
slim-jquery
SynCap
źródło
źródło
Odpowiedzi:
Patrząc na kod, zauważyłem następujące różnice między jquery.js i jquery.slim.js:
W pliku jquery.slim.js usunięto następujące funkcje:
źródło
jQuery.fn.extend
wykorzystywany do dodawania metod do opakowanych zestawów. Czy miałeś na myśli coś innego w punkcie 1?Krótka odpowiedź zaczerpnięta z ogłoszenia ostatecznej wersji jQuery 3.0 :
Rozmiar pliku (spakowany gzipem) jest około 6k mniejszy, 23,6k vs 30k.
źródło
W tej chwili wydaje się, że najbardziej autorytatywną odpowiedzią jest ten problem , który stwierdza, że „jest to niestandardowa kompilacja jQuery, która wyklucza efekty, ajax i przestarzały kod”. Szczegóły zostaną ogłoszone w jQuery 3.0.
Podejrzewam, że uzasadnieniem wyłączenia tych składników biblioteki jQuery jest uznanie coraz powszechniejszego scenariusza używania jQuery w połączeniu z innym frameworkiem JS, takim jak Angular lub React. W takich przypadkach użycie jQuery jest przede wszystkim wykorzystywane do przemierzania i manipulacji DOM, więc pominięcie tych komponentów, które są albo przestarzałe, albo dostarczone przez framework, powoduje zmniejszenie wielkości pliku o około 20%.
źródło
fetch()
który jest nowoczesnym zamiennikiemXMLHttpRequest
(AJAX).Blog jQuery, jQuery 3.1.1 wydany! , mówi,
źródło
Widziałem, że
$.ajax
został usunięty z jQuery slim 3.2.1Z dokumentów jQuery
Poniżej znajduje się komentarz od wersji slim z usuniętymi funkcjami
źródło
Jak wspomniano, moduły Ajax i efekty zostały wykluczone z jQuery slim, różnica wielkości od 3.3.1 dla wersji zminimalizowanej rozpakowana wynosi 85k vs 69k (oszczędność 16k dla slim) lub 30vs24 dla zip, ważne jest, aby pamiętać, że bootstrap 4 używa szczupły jQuery, więc jeśli ktoś chce pełnej wersji, musi to nazwać
źródło