require.js
ファイルに次のコードが設定されている理由いずれかが、詳細に説明することができます:RequireJSのコードで "define.amd = {jQuery:true}"の目的は何ですか?
define.amd = {
jQuery: true
};
参考リンク:いくつかの値にdefine.amd
を設定Default set to jquery as true
require.js
ファイルに次のコードが設定されている理由いずれかが、詳細に説明することができます:RequireJSのコードで "define.amd = {jQuery:true}"の目的は何ですか?
define.amd = {
jQuery: true
};
参考リンク:いくつかの値にdefine.amd
を設定Default set to jquery as true
はによって提供さdefine
機能を区別しやすくするために行われているが任意の古いものからのAMDローダーdefine
複数のロードのシナリオを処理するコードの典型的なパターンはこれです:
if (typeof define === 'function' && define.amd) {
define(['exports'], factory(exports));
} else if (typeof module === 'object' && module.exports) {
factory(module.exports);
} else {
factory(exports);
}
1行目には、可能なAMDローダーを持ち、かつ存在する場合AMDローダーを使用するかどうかをチェックします。 define
関数が存在していても、amd
プロパティが設定されていない場合、それはいくつかのランダムな外部のdefine
です。
名前define
はかなり一般的です。 amd
プロパティでなければ、実際に存在するものが実際に存在するかどうかを判断することが困難な場合があります。
{ jQuery: true }
に設定することは歴史的な成果物です。それを説明するpull request to jQueryがあります。要求の作成者はRequireJSの作成者です。簡単に言えば、AMDローダが複数のバージョンのjQueryがdefine
を呼び出すケースを処理できることを示すことが目的でした。 define.amd.jQuery
が真実だった場合に限り、jQueryはdefine
を呼び出します。これはおそらく、以前はいくつかのバージョンのjQueryで使用されていましたが、新しいバージョンではこのフラグは使用されないため、主に古いjQueryバージョンをサポートしています。