AMDは 非同期動作を選ぶ、開発へのブラウザ最初のアプローチを採用し、互換性後方簡素化、それ は、ファイルの任意の概念を持っていないI/O.オブジェクト、関数、 のコンストラクタ、文字列、JSON、その他多くの種類のモジュールをサポートしており、ブラウザには がネイティブに実行されます。それは信じられないほど柔軟です。一方
CommonJSジョンハンとして にそれを参照することになり、それは(サーバ上の)将来の要求を満たすためにしようとして、グローバルな荷物を 同期動作を想定していない、サーバー最初のアプローチをとります。これにより、 は、CJSがアンラップされたモジュールをサポートしているため、 が、ES.next/Harmony仕様に少し近づくと、 AMDが強制するdefine()ラッパーを解放できます。ただし、CJSモジュール は、オブジェクトをモジュールとしてのみサポートします。
したがって、クライアントサイドのJavaScriptフレームワークであるAngularは、AMDモジュール形式で記述されている必要があります。何が私がここで行方不明であるか理解するのを助けてください。
ありがとうございます!
* "ES.next/Harmony仕様に近い" * - 十分な理由があるはずです。 – deceze
@deceze CommonJsではなく、ES.next/Harmony/ES6モジュール形式で書かれていると言うのは正しいでしょうか? –