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%準拠するコードを記述して、コードを使用するユーザーがコードを変更せずに必要なローダーを使用できるようにする場合は、RequireJSに固有require
であるため、グローバルレベルで使用する必要があります。requirejs
別のAMDローダーはそれを定義しません。AMD仕様では定義されていますが、定義されてrequire
いませんrequirejs
。
グローバルを定義する他のものをロードする場合は、競合を回避するためにグローバルレベルでrequire
使用する必要があります。requirejs
モジュール内では、常にを使用define
してへの参照を取得しますrequire
。グローバル空間で競合があるかどうかに関係なく、これを行う必要があります。