jquery의 일반 패키지와 슬림 패키지의 차이점은 무엇입니까?


436

에서 CDNJS jquery.slim 패키지 배치됩니다. 더 작은 크기입니다. 원본과의 주요 차이점은 무엇입니까? 코드를 간단히 살펴보면 대답이 나오지 않았으며 jquery.com에서 slim패키지에 대한 참조를 찾지 못했습니다 .

그렇다면 jquery.js와 jquery.slim.js의 차이점은 무엇입니까?



내 생각에, 당신은 평범한 대답을 받아 들였고 그것을 바꿔야합니다.
Robert Siemer

@RobertSiemer가 될지 모르지만 백명 투표는 제 시간에 실제 상황을 훨씬 명확하게 보여줍니다. 받아 들여진 답변은 충분히 적시에 완료되었으며 이제는 여전히 짧고 빠르며 충분한 솔루션을 제공합니다.
SynCap

전 당신의 의견에 동의하지 않습니다. 허용 된 답변에 대한 투표는 아래의 다른 답변과 비교하여 아무 것도 나타내지 않습니다. 그리고 답변이 제 시간에 되돌아 간 것은 공공 Q / A 웹 사이트와는 전혀 관련이 없습니다. 사람들은 지금 여기 와서 가능한 최고의 답변이 필요합니다. 게다가 : Bhojendra Rauniyar는 15 명의 대표없이 완전히 할 수 있습니다. 포인트들.
Robert Siemer

다운 보트의 절대 수는 다른 답변과 비교할 때 품질에 대한 더 나은 지표입니다 .— 두 번째 답변이 실제로 가장 많이 투표 된 것이므로 더 이상 할 말이 없습니다.
Robert Siemer

답변:


296

코드를 보면 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. jQuery.ajaxSettings.xhr, jQuery.ajaxPrefilter, jQuery.ajaxSetup, jQuery.ajaxPrefilter, jQuery.ajaxTransport, jQuery.ajaxSetup과 같은 아약스 설정
  6. jQuery.parseXML과 같은 XML 구문 분석
  7. jQuery.easing, jQuery.Animation, jQuery.speed와 같은 애니메이션 효과

6
3.x 슬림 소스에서는 여전히 jQuery.fn.extend랩 세트에 메소드를 추가하는 데 사용되고 있습니다. # 1에서 다른 것을 언급 했습니까?
cantera

39
주목할 점은 Bootstrap 4 가 jQ Slim 릴리스를 대상으로 한다는 것입니다 . 애니메이션은 아마도 가장 큰 파손 지점 일 것입니다. 그러나 대부분의 애니메이션은 CSS3를 사용하여 더 빠르고 더 빠르게 수행 할 수 있습니다.
Josh Habdas

3
"jQuery.each"은 무슨 뜻인가요? jQuery.each 슬림 jQuery를 3에서 제거되지 않은
크리스 Moschini

18
이것을 다르게 표현하기 위해 답변을 편집하고 싶을 수도 있습니다 .jquery.each는 제거 된 항목의 목록에 혼란 스럽습니다.
Chris Moschini

1
slideUp과 같은 기능, slideDown은 슬림 버전에서도 작동하지 않습니다.
Usman Arshad

316

jQuery 3.0 Final Release 발표 에서 얻은 짧은 답변 :

아약스 및 효과 모듈을 포함하는 jQuery의 일반 버전과 함께 이러한 모듈을 배제한 "슬림"버전을 출시합니다. 대체로 아약스, 효과 및 현재 사용되지 않는 코드는 제외됩니다.

파일 크기 (gzipped)는 약 6k 작고 23.6k는 30k입니다.


40

현재 가장 권위있는 답변은이 문제 에있는 것으로 보입니다 . "효과, 아약스 및 더 이상 사용되지 않는 코드를 제외하는 jQuery의 사용자 정의 빌드입니다." 자세한 내용은 jQuery 3.0과 함께 발표 될 예정입니다.

jQuery 라이브러리의 이러한 구성 요소를 제외하는 이유는 Angular 또는 React와 같은 다른 JS 프레임 워크와 함께 사용되는 jQuery의 점점 일반적인 시나리오를 인식하고 있다고 생각합니다. 이 경우 jQuery의 사용법은 주로 DOM 탐색 및 조작에 사용되므로, 더 이상 사용되지 않거나 프레임 워크에서 제공하는 구성 요소를 제외하면 파일 크기가 약 20 % 줄어 듭니다.


10
(AJAX)를 fetch()대체하는 최신 기능을 사용하는 개발자도 사용할 수 있습니다 XMLHttpRequest.
Fred

25

jQuery 블로그, jQuery 3.1.1 릴리스! 라고 말합니다.

슬림 빌드

때로는 아약스가 필요하지 않거나 아약스 요청에 중점을 둔 많은 독립형 라이브러리 중 하나를 사용하는 것을 선호합니다. 또한 모든 웹 애니메이션에 CSS와 클래스 조작을 조합하여 사용하는 것이 더 간단합니다. 아약스 및 효과 모듈을 포함하는 jQuery의 일반 버전과 함께 이러한 모듈을 제외하는 "슬림"버전을 출시했습니다. 대체로 아약스, 효과 및 현재 사용되지 않는 코드는 제외됩니다. jQuery의 크기는 요즘로드 성능에 거의 영향을 미치지 않지만 슬림 빌드는 일반 버전보다 약 6k gzipped 바이트가 작습니다 (23.6k 대 30k).


17

$.ajaxjQuery 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의 대안은 무엇입니까?
Zyo

2
@Zyo는 일반 JavaScript에서 xmlhttprequest 객체를 사용하거나 jQuery 일반 버전을 사용합니다.
kiranvj


@Octavioamu 가져 오기는 옵션이지만 지원 브라우저를 기반으로 폴리 필이 필요할 수 있습니다.
kiranvj

5

언급 한 바와 같이 Ajax 및 효과 모듈은 jQuery slim에서 제외되었습니다. 압축 해제 된 버전의 경우 3.3.1의 크기 차이는 85k 대 69k (16k 절약) 또는 30vs24입니다 .ziptrap4는 부트 스트랩 4를 사용합니다 슬림 jQuery 그래서 누군가가 정식 버전을 원한다면 대신에 그것을 호출해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.