2016-05-26 6 views
36

webpackのローダーとプラグインの違いは何ですか?Webpackローダーとプラグイン。違いは何ですか?

documentation for pluginsはちょうど言う:

使用プラグインは、通常のWebPACKでバンドルに関連する機能を追加します。

私はbabelがjsx/es2015の変換にローダーを使用していますが、他の一般的なタスク(copy-webpack-pluginなど)のように見えます。

+2

ローダーが認識JSためにファイルを変換しますが(と:

enter image description here 参照 -

ただ、たとえば、あなたは明らかに、ローダーが働いていると、プラグインが動作している場所の画像の下で見ることができます変換中に何かする)、プラグインはローダー出力に必要なものを何でも行うことができます。 –

答えて

27

ローダーは、コードでrequire("my-loader!./my-awesome-module")のようなsthを使用すると、事実上すべてのファイル形式の前処理変換を行います。プラグインと比較すると、(a)単一の関数をwebpackに公開し、(b)実際のビルドプロセスに影響を与えることができないため、非常に単純です。

一方、プラグインは、Webpackビルドシステム内のフックを登録したり、コンパイラにアクセスしたり、コンパイルにアクセスしたり、コンパイルにアクセスしたり、コンパイルすることができるため、Webpackに深く統合できます。したがって、彼らはより強力ですが、維持することもより困難です。

17

補足的で簡単な答えを追加する。

ローダーは:

ローダーが生成されかバンドル前に、中に個々のファイルレベルで働いています。

プラグイン:

プラグインは又はチャンクレベルで動作し、通常束生成処理ので働きます。プラグインは、バンドル自体の作成方法も変更できます。プラグインはローダーよりも強力なコントロールを持っています。 ArticleImage

+3

よくできました! 2つの簡単な文章と私は今の違いを理解しています。 ENTIRE Web Packドキュメントライブラリーを書き直すには、完全にわかりにくいので、書き直してください。 – rism

関連する問題