ある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。
グローバルを定義する何か他のものをロードしている場合 requirerequirejs競合を回避するためにグローバルレベルで使用する必要があります。
モジュール内では、常にを使用してdefineへの参照を取得しますrequire。グローバル空間で対立があるかどうかに関係なく、これを行う必要があります。