jqueryの通常のパッケージとスリムパッケージの違いは何ですか?


435

CDNJS jquery.slimパッケージに置かれています。小さいサイズです。オリジナルとの大きな違いは何ですか?コードをざっと見ても答えはありませんでした。jquery.comでは、slimパッケージに関するリファレンスは見つかりませんでした。

では、jquery.jsとjquery.slim.jsの違いは何ですか?



私の見解では、あなたは平凡な答えを受け入れ、それを変更する必要があります。
Robert Siemer

@RobertSiemerはそうかもしれませんが、私の見解では、100人の投票が実際の時間を明確に示しています。受け入れられた回答は十分かつタイムリーであり、現在も短くて迅速で十分なソリューションを提供しています。
SynCap

私はあなたに全く同意しません。受け入れられた回答への投票は、以下の他の回答と比較して何も示していません(そしてあなたはそれを知っているはずです)。そして、答えが過去にさかのぼることが何であれ、パブリックq / aウェブサイトにはまったく関係ありません。人々はここに来て、可能な限り最良の答えを必要としています。さらに:Bhojendra Rauniyarは、15人の担当者がいなくてもまったく問題ありません。ポイント。
Robert Siemer

反対票の絶対数は、他の回答と比較して品質のより良い指標です。—私は2番目の回答が実際に最も投票されているので、これ以上言うことはありません。
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などのajax設定
  6. jQuery.parseXMLのようなXML解析
  7. jQuery.easing、jQuery.Animation、jQuery.speedなどのアニメーション効果

6
3.xスリムソースでは、jQuery.fn.extendラップされたセットにメソッドを追加するために使用されているのを見ています。#1で別のことを言っていましたか?
cantera 2016

39
注目に値するのは、Bootstrap 4がjQスリムリリースをターゲットにしていることです。アニメーションはおそらく破損の最大のポイントですが、それらのほとんどはとにかくCSS3を使用してよりよくより速く実行できます。
Josh Habdas 2017年

3
「jQuery.each」とはどういう意味ですか?jQuery.eachは、jQuery 3スリムでは削除されていません
Chris Moschini、2017年

18
答えを編集してこれを別の方法で表現したいと思うかもしれません-削除されたもののリストでjquery.eachと言うのは混乱を招きます。
Chris Moschini、2017年

1
SlideUp、SlideDownなどの機能もスリムバージョンでは機能しません。
Usman Arshad 2017年

316

jQuery 3.0最終リリースの発表からの短い回答:

ajaxおよびエフェクトモジュールを含む通常のバージョンのjQueryに加えて、これらのモジュールを除外した「スリム」バージョンをリリースします。全体として、ajax、エフェクト、および現在非推奨のコードは除外されています。

ファイルサイズ(gzip圧縮)は約6k小さく、23.6k対30kです。


40

現時点で、最も信頼できる答えはこの問題にあるようで、「これはエフェクト、ajax、非推奨のコードを除外したjQueryのカスタムビルドです」と述べています。詳細はjQuery 3.0で発表されます。

jQueryライブラリーのこれらのコンポーネントを除外する根拠は、AngularやReactなどの別のJSフレームワークと組み合わせて使用​​されるjQueryのますます一般的なシナリオを認識していると思います。これらの場合、jQueryの使用は主にDOMトラバーサルと操作のために行われるため、廃止されたコンポーネントまたはフレームワークによって提供されるコンポーネントを除外すると、ファイルサイズが約20%削減されます。


10
(AJAX)のfetch()最新の代替品などの最新の機能を使用する開発者も使用できますXMLHttpRequest
2016年

25

jQueryブログ、jQuery 3.1.1がリリースされました!、言う、

スリムビルド

ajaxが不要な場合や、ajaxリクエストに焦点を当てた多くのスタンドアロンライブラリのいずれかを使用したい場合があります。そして多くの場合、すべてのWebアニメーションに対してCSSとクラス操作の組み合わせを使用する方が簡単です。ajaxモジュールとエフェクトモジュールを含むjQueryの通常バージョンに加えて、これらのモジュールを除外した「スリム」バージョンをリリースしました。全体として、ajax、エフェクト、および現在非推奨のコードは除外されています。最近、jQueryのサイズがロードパフォーマンスの問題になることはほとんどありませんが、スリムビルドは、通常のバージョンよりも約6k gzip圧縮されたバイトが少ない– 23.6k vs 30k。


17

$.ajaxjQueryスリム3.2.1から削除されていることがわかりました

jQuery ドキュメントから

また、ajaxモジュールとエフェクトモジュールを除いたスリムビルドを使用することもできます。

以下は、機能を削除したスリムバージョンのコメントです。

/*! 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

フェッチAPIはネイティブで非常に強力です developer.mozilla.org/en-US/docs/Web/API/Fetch_APIここでは、それを使用する方法developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch
Octavioamu

@Octavioamuフェッチはオプションですが、サポートするブラウザーに基づいたポリフィルが必要になる場合があります
kiranvj

5

前述のように、AjaxモジュールとエフェクトモジュールはjQueryスリムから除外されています。3.3.1の時点でのサイズの違いは、圧縮解除された縮小バージョンの85k対69k(スリムでは16k節約)または圧縮の場合30vs24であり、ブートストラップ4が使用することに注意することが重要です。スリムなjQueryなので、フルバージョンが必要な場合は、代わりにそれを呼び出す必要があります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.