タスクランナー(Gulp、Gruntなど)とバンドラー(Webpack、Browserify)。なぜ一緒に使うのか?質問する

タスクランナー(Gulp、Gruntなど)とバンドラー(Webpack、Browserify)。なぜ一緒に使うのか?質問する

Grunt、Gulp、Webpack、Browserify などのテクノロジーを学ぼうとしていますが、それらの間に大きな違いがあるとは感じませんでした。

言い換えれば、Webpack はタスク ランナーが行うことすべてを実行できると感じています。しかし、gulp と webpack が一緒に使用されている例がまだたくさんあります。その理由は何でしょうか。

私は間違った方向に進んでいるかもしれません。何か見落としていることはありませんか? もしそうなら、何ですか?

ベストアンサー1

うなり声そしてゴクリこれらは実際にはタスク ランナーであり、構成駆動型タスクとストリーム ベースの変換などの違いがあります。それぞれに長所と短所がありますが、結局のところ、これらは、より大きなビルド問題を解決するために実行できるタスクの作成に役立ちます。ほとんどの場合、これらはアプリの実際の実行時間とは関係なく、実行時間が期待どおりに機能するように、ファイル、構成などを変換または配置します。場合によっては、アプリを実行するために必要なサーバーやその他のプロセスを生成することもあります。

ウェブパックそしてブラウザ化パッケージバンドラーは基本的に、パッケージの依存関係をすべて実行し、そのソースを1つのファイルに連結して、(理想的には)ブラウザで使用できるように設計されています。これらは現代のウェブ開発にとって重要です。なぜなら、私たちはブラウザで実行するように設計された多くのライブラリを使用しているからです。Node.jsそしてそのv8コンパイラー。ここでも、長所と短所があり、開発者によってはどちらか一方 (または両方) を好む理由もさまざまです。通常、これらのソリューションの出力バンドルには、潜在的に巨大なバンドル内の適切なファイルまたはモジュールを取得するのに役立つ、何らかのブートストラップ メカニズムが含まれています。

ランナーとバンドラーの境界が曖昧なのは、バンドラーが複雑な変換やトランスピラティス実行中にタスクランナーが実行できるいくつかのことを実行できます。実際、browserifyとwebpackには100ほどの違いがあります。変圧器ソースコードを変更するために使用できるgulpプラグイン。比較のために、少なくとも2000個のgulpプラグインがリストされていますネプ今のところ、アプリケーションに最適なものについて明確な定義があることがわかります (うまくいけば... ;))。

そうは言っても、複雑なプロジェクトではタスクランナーとパッケージバンドラーの両方を同時に、または並行して使用していることがあります。たとえば私のオフィスでは、プロジェクトを開始するためにgulpを使用し、webpackは実際にはブラウザでアプリを実行するために必要なソースバンドルを作成する特定のgulpタスクから実行されます。そして、私たちのアプリは同形の、 私達もサーバーの一部をバンドルするコード。

私の個人的な意見としては、キャリアの中でこれらすべてのテクノロジーを目にする(使用する)可能性が高いため、これらすべてのテクノロジーに精通しておく必要があると思います。

おすすめ記事