モジュールプログラミングでは、開発者はプログラムをモジュールと呼ばれる個別の機能のチャンクに分割します。
各モジュールは、完全なプログラムよりも表面積が小さいため、検証、デバッグ、およびテストが簡単です。適切に記述されたモジュールは、堅牢な抽象化とカプセル化の境界を提供するため、各モジュールはアプリケーション全体の中で一貫した設計と明確な目的を持っています。
Node.jsは、その開始以来、ほぼモジュールプログラミングをサポートしています。ただし、Web上では、モジュールのサポートは遅れて到着しています。Web上でモジュール化されたJavaScriptをサポートする複数のツールが存在し、さまざまな利点と制限があります。webpackは、これらのシステムから学んだ教訓に基づいて構築されており、プロジェクト内の任意のファイルにモジュールの概念を適用しています。
Node.jsモジュールとは対照的に、webpackモジュールはさまざまな方法で依存関係を表現できます。いくつかの例を挙げると
import
ステートメントrequire()
ステートメントdefine
およびrequire
ステートメント@import
ステートメント。url(...)
またはHTML <img src=...>
ファイル内の画像URL。webpackは、次のモジュールタイプをネイティブにサポートしています
それに加えて、webpackはローダーを介して、さまざまな言語とプリプロセッサで記述されたモジュールをサポートします。ローダーは、webpackに非ネイティブなモジュールを処理してこれらの依存関係をバンドルに含める方法を記述します。webpackコミュニティは、次のものを含む幅広い人気のある言語および言語プロセッサ用のローダーを構築しました
その他多数!全体として、webpackは、開発、テスト、および本番ワークフローについて意見を持たず、あらゆるスタックにwebpackを使用できる強力で豊富なカスタマイズ用のAPIを提供します。
完全なリストについては、ローダーのリストまたは独自のローダーを作成してください。