web-dev-qa-db-ja.com

bower、browserify、requirejs、webpackの違いは?

私は、gulpなどのビルドプロセスの一部としてJSの依存関係が連結および縮小され、htmlのスクリプトタグにその縮小されたJSファイルへのハードコードされたパスが含まれている、シンプルで小さなJSプロジェクトに慣れています。エレガントではなく、おそらくいくつかの欠点がありますが、概念的には単純なアプローチです。

しかし、より大きなプロジェクトでは、bower、browserify、requirejs、webpackなどのパッケージングシステムを見るのが良いことを理解しています。これまでのやり方とは対照的に、それらを使用する利点は何ですか?開発プロセスに役立つ主な方法は何ですか?

私が競合他社に言及したこれらのテクノロジーはありますか、またはそれらのいくつかは異なる目的を果たし、一緒に使用できますか?それらの違いは何ですか?

また、webpackを調べたところ、gulpの代わりであるかのように説明されていました。 gulpはビルドシステムであり、これらのパッケージツールとは異なると思いましたか?

編集:これらの概念はAMDまたはCommonJSとどのように関連していますか?

27
user779159

Browserify、RequireJS、WebPackはすべてモジュールローダーです。 AMDとCommonJはどちらもモジュールのタイプです。 JQueryなどの多くの(ほとんどの)JavaScriptライブラリは、モジュールとしてロードできます。 Requireは長い間存在しており、そのIPはDOJOの基盤の下にあります。 Browerifyは、主にサーバー側のJS(ノード)もクライアント側で機能するため、人気が高まっています。

クライアント側のJavaScriptモジュールローダー slant.coで。

Bowerは、主にGitリポジトリのインストールに使用されるパッケージマネージャーであり、フロントエンドビルドツールであるGULPまたはGruntにリンクすることもできます。つまり、requireJSオプティマイザーを使用して縮小するなどです。

3つのモジュールローダーを比較できます。Bowerは、コピーされたパッケージがいったんダウンしているのとは比べ物になりません。

20
saj