에서 CDNJS jquery.slim 패키지 배치됩니다. 더 작은 크기입니다. 원본과의 주요 차이점은 무엇입니까? 코드를 간단히 살펴보면 대답이 나오지 않았으며 jquery.com에서 slim
패키지에 대한 참조를 찾지 못했습니다 .
그렇다면 jquery.js와 jquery.slim.js의 차이점은 무엇입니까?
답변
코드를 보면 jquery.js와 jquery.slim.js 사이에 다음과 같은 차이점이 있습니다.
jquery.slim.js에서 다음 기능이 제거되었습니다.
- jQuery.fn.extend
- jquery.fn.load
- jquery.each // 일반적인 AJAX 이벤트를 처리하기위한 많은 함수를 첨부
- jQuery.expr.filters.animated
- jQuery.ajaxSettings.xhr, jQuery.ajaxPrefilter, jQuery.ajaxSetup, jQuery.ajaxPrefilter, jQuery.ajaxTransport, jQuery.ajaxSetup과 같은 아약스 설정
- jQuery.parseXML과 같은 XML 구문 분석
- jQuery.easing, jQuery.Animation, jQuery.speed와 같은 애니메이션 효과
답변
jQuery 3.0 Final Release 발표 에서 얻은 짧은 답변 :
아약스 및 효과 모듈을 포함하는 jQuery의 일반 버전과 함께 이러한 모듈을 배제한 “슬림”버전을 출시합니다. 대체로 아약스, 효과 및 현재 사용되지 않는 코드는 제외됩니다.
파일 크기 (gzipped)는 약 6k 작고 23.6k는 30k입니다.
답변
현재 가장 권위있는 답변은이 문제 에있는 것으로 보입니다 . “효과, 아약스 및 더 이상 사용되지 않는 코드를 제외하는 jQuery의 사용자 정의 빌드입니다.” 자세한 내용은 jQuery 3.0과 함께 발표 될 예정입니다.
jQuery 라이브러리의 이러한 구성 요소를 제외하는 이유는 Angular 또는 React와 같은 다른 JS 프레임 워크와 함께 사용되는 jQuery의 점점 일반적인 시나리오를 인식하고 있다고 생각합니다. 이 경우 jQuery의 사용법은 주로 DOM 탐색 및 조작에 사용되므로, 더 이상 사용되지 않거나 프레임 워크에서 제공하는 구성 요소를 제외하면 파일 크기가 약 20 % 줄어 듭니다.
답변
jQuery 블로그, jQuery 3.1.1 릴리스! 라고 말합니다.
슬림 빌드
때로는 아약스가 필요하지 않거나 아약스 요청에 중점을 둔 많은 독립형 라이브러리 중 하나를 사용하는 것을 선호합니다. 또한 모든 웹 애니메이션에 CSS와 클래스 조작을 조합하여 사용하는 것이 더 간단합니다. 아약스 및 효과 모듈을 포함하는 jQuery의 일반 버전과 함께 이러한 모듈을 제외하는 “슬림”버전을 출시했습니다. 대체로 아약스, 효과 및 현재 사용되지 않는 코드는 제외됩니다. jQuery의 크기는 요즘로드 성능에 거의 영향을 미치지 않지만 슬림 빌드는 일반 버전보다 약 6k gzipped 바이트가 작습니다 (23.6k 대 30k).
답변
$.ajax
jQuery slim 3.2.1에서 제거 된 것을 볼 수 있습니다
jQuery 문서에서
ajax 및 effect 모듈을 제외한 슬림 빌드를 사용할 수도 있습니다.
아래는 기능이 제거 된 슬림 버전의 설명입니다.
/*! 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 */
답변
언급 한 바와 같이 Ajax 및 효과 모듈은 jQuery slim에서 제외되었습니다. 압축 해제 된 버전의 경우 3.3.1의 크기 차이는 85k 대 69k (16k 절약) 또는 30vs24입니다 .ziptrap4는 부트 스트랩 4를 사용합니다 슬림 jQuery 그래서 누군가가 정식 버전을 원한다면 대신에 그것을 호출해야합니다.