8
NPM対Bower対Browserify対Gulp対Grunt対Webpack
最も人気のあるJavaScriptパッケージマネージャー、バンドラー、タスクランナーに関する私の知識を要約しようとしています。私が間違っている場合は修正してください: npm&bowerはパッケージマネージャーです。依存関係をダウンロードするだけで、自分でプロジェクトを構築する方法がわかりません。彼らは何を知っていることは呼び出すことですwebpack/ gulp/ gruntすべての依存関係を取得した後。 bowerに似てnpmいますが、フラット化された依存関係ツリーを構築します(npm再帰的に行うのとは異なります)。意味npmが、(数回同じフェッチすることができる)、各依存性をフェッチに依存関係をbower手動でサブ依存性を含むことを期待。時々bower、npmフロントエンドとバックエンドでそれぞれ一緒に使用されます(フロントエンドで各メガバイトが重要になる場合があるため)。 gruntおよびgulp自動化することができる自動化、すべてのタスクランナー(すなわち、コンパイルCSS /サス、最適化画像は、バンドルを作成し、縮小化/ transpileこと)です。 grunt対gulp(maven対、gradleまたは構成対コード)。Gruntは、個別の独立したタスクの構成に基づいており、各タスクはファイルを開いたり、処理したり、閉じたりします。Gulpは必要なコード量が少なく、Nodeストリームに基づいているため、パイプチェーンを構築して(同じファイルを再度開くことなく)高速化できます。 webpack(webpack-dev-server)-私にとっては、すべてのJS / CSSウォッチャーを忘れることができる変更のホットリロードを備えたタスクランナーです。 npm/ bower+プラグインはタスクランナーを置き換える場合があります。それらの機能は交差することが多いため、gulp/ grunt以上のnpmプラグインを使用する必要がある場合は、さまざまな影響があります。しかし、タスクランナーは複雑なタスクに適しています(たとえば、「ビルドごとに、バンドルを作成し、ES6からES5にトランスパイルし、すべてのブラウザーエミュレーターで実行し、スクリーンショットを作成し、ftp経由でドロップボックスにデプロイします」)。 browserifyブラウザのノードモジュールをパッケージ化できます。browserify対nodeさんはrequire、実際にあるCommonJS対AMD。 質問: webpack&とはwebpack-dev-server?公式ドキュメントには、それがモジュールバンドラーであると記載されていますが、私にとってはそれは単なるタスクランナーです。違いは何ですか? どこで使用しbrowserifyますか?node / ES6インポートでも同じことはできませんか? するときは、使用するgulp/ grunt上npm+プラグイン? 組み合わせを使用する必要がある場合は例を提供してください