2016-10-25 11 views
6

commonJsとAMDの違いを説明している記事がありますが、commonJSとSystemJSの関連はありません。 これらは両方ともAngularJS 2開発に使用されています。両方ともモジュールローダーなので、なぜ両方を必要としますか?SystemJSとCommonJSの違い

答えて

2

NodeJSでは、ビルド時にモジュールを要求するためにCommonJSが使用されます。例えば。モジュールはコンパイルされ、すべてのコードが前面にロードされた状態でブラウザに配信されます。

ただし、SystemJSはrequireJSを置き換えます。 SystemJSは実行時にモジュールを動的にロードします。 Angular2では、ブラウザの[NET]タブを見ると、アプリの多くの部分を探索する際に、SystemJSの読み込みファイルが表示されます。

クリックイベントハンドラなどの内部にモジュールを必要とする可能性があります。

+1

彼らがどちらを使用して、適用、スペック比較およびクライアント/サーバサイドJSライブラリ/フレームワークですSystemJS、CommonJS、RequireJSとAMDとの間の比較があると便利だろう。 – Andy

2

CommonJSは仕様ですが、SystemJSはopensource Javascriptであり、CommonJSのような仕様に準拠したローダーです。 CommonJS仕様では、JavaScriptのモジュールがどのように動作するのか、どのように公開されるのか、どのように呼び出すことができるのかを定義しています。 SystemJSは、CommonJSの仕様やその他の仕様に準拠したローダーです。

以下は、CommonJSモジュールの仕様がどのように見えるか、そしてSystemJSがその仕様をどのように尊重しているかを説明する簡単な20分間のyoutubeビデオチュートリアルです。

https://www.youtube.com/watch?v=jN4IM5tp1SE