複数のエントリと 1 つの共通チャンクを含む webpack ビルドがあります。ロードするときもあれば、ロードするときもあり、エントリ 2 と 3 をロードentry1
するときentry1
もentry2
あります。いずれにしても、常に共通チャンクを含めます。
すべて問題ないようです。バンドルされたファイルは問題ありません。しかし、実行時に問題があるようです。2 つのエントリが必要で、両方がモジュール (共通ファイル内) に依存している場合。このモジュールは 2 回評価されます。
簡単な例:
entry1.js
require('./dep.js');
entry2.js
require('./dep.js');
deps.js
alert('called')
module.exports = 2;
ここでは、アラートが 2 回呼び出されていることがわかります。私は、webpackがrequireと同様のことをnode.js
行い、キャッシュすることを期待していました。
再確認したところ、ファイルの内容deps.js
が実際にcommon.js
ファイルにあり、ブレークポイントを配置するalert
ことで、同じコードが複数回呼び出されていることがわかりました。これは予想外です。
これを解決する方法はありますか?