1 つではなく 2 つのバンドルにバンドルしたい大規模なクライアント側プロジェクトがあります。
これは私の依存関係ツリーです:
望ましい出力は、これらのバンドルを持つことです。
main
含むb
x
これにはa
(b
最初のバンドルにすでに含まれており、ユーザーがコードを複数回ダウンロードすることは望ましくありません)。
これが私のオプティマイザ構成です。
({
appDir: 'www',
baseUrl: 'js/',
mainConfigFile: 'www/js/require.config.js',
dir: 'www-release',
modules: [
{
name: 'main',
exclude: ['x']
},
{
name: 'x',
exclude: ['main']
}
],
optimize: 'none',
removeCombined: true
})
main
の依存関係ツリー全体から除外したいのですx
が、明示的に必要なモジュール ( a
.
そんなこと知ってる:
include
— 直接必要のないモジュールとその依存関係ツリー全体を明示的に含めます。exclude
— モジュールを除外すると、実際にはその依存関係ツリー全体が除外されinclude
、競合が発生した場合にオーバーライドされます。excludeShallow
—モジュール自体を含まず、モジュールの依存関係ツリーを含みます。
それを持っていると、私が望むものを達成するための明確な方法がわかりません。助けてもらえますか?