可能なはずのことをやろうとしているのですが、webpackのドキュメントだけではどうすればいいのか理解できません。
相互に依存している、または依存していないいくつかのモジュールを含むJavaScriptライブラリを作成しています。その上、jQueryはすべてのモジュールで使用され、それらの一部にはjQueryプラグインが必要な場合があります。このライブラリは、一部またはすべてのモジュールを必要とするいくつかの異なるWebサイトで使用されます。
モジュール間の依存関係を定義することは非常に簡単でしたが、サードパーティの依存関係を定義することは、思ったより難しいようです。
私が達成したいこと:各アプリについて、必要なサードパーティの依存関係を含むものと、ライブラリからの必要なモジュールを含むものの2つのバンドルファイルを用意します。
例:私のライブラリに次のモジュールがあるとします。
- a(必要:jquery、jquery.plugin1)
- b(必須:jquery、a)
- c(jquery、jquery.ui、a、bが必要)
- d(jquery、jquery.plugin2、aが必要)
そして、モジュールa、b、cを必要とするアプリ(一意のエントリファイルとして表示する)があります。この場合のWebpackは、次のファイルを生成します。
- ベンダーバンドル:jquery、jquery.plugin1、jquery.ui;
- ウェブサイトバンドル:モジュールa、b、cを使用。
結局のところ、jQueryをグローバルとして使用したいので、すべてのファイルでjQueryを要求する必要はありません(たとえば、メインファイルでのみ要求することができます)。そして、jQueryプラグインは、必要な場合に備えて$グローバルを拡張するだけです(それらを必要としない他のモジュールで使用できる場合は問題ありません)。
これが可能であると仮定すると、この場合のwebpack構成ファイルの例は何でしょうか?設定ファイルでローダー、エクスターナル、プラグインのいくつかの組み合わせを試してみましたが、実際にそれらが何をしていて、どれを使用するべきかわかりません。ありがとうございました!