あるrequirejs
とrequire
同じ?
RequireJS 2.1.15以降、require
およびrequirejs
グローバルスペースでは、コンソールで実行できるこのテストから明らかなように、実際には「まったく同じ」です。
> require === requirejs
true
テストが返すtrue
ことは、それらがまったく同じ関数オブジェクトであることを示しています。これらは、たまたま類似または同一のコードを持つ2つの関数ではありません。それらは同じオブジェクト、期間です。
ただし、あなたが実行時にdefine(['require'], function (require) {
ザ・をrequire
関数に渡さ通常、異なるグローバルからrequire
。
使用する必要があります require
かrequirejs
?
場合によります。RequireJSはAMDローダーですが、町で唯一のローダーではありません。AMD仕様に100%準拠するコードを記述して、コードを使用する誰かがコードを変更せずに必要なローダーを使用できるようにする場合require
は、グローバルレベルで使用する必要があります。requirejs
、RequireJSに固有。別のAMDローダーはそれを定義しません。AMD仕様では定義されてrequire
いますが、定義されていませんrequirejs
。
グローバルを定義する何か他のものをロードしている場合 require
requirejs
競合を回避するためにグローバルレベルで使用する必要があります。
モジュール内では、常にを使用してdefine
への参照を取得しますrequire
。グローバル空間で対立があるかどうかに関係なく、これを行う必要があります。