私はいくつかのES2015モジュールで構成されたコンポーネントライブラリを作成しています。それぞれに比較的自蔵されていますが、統合テストと導入を容易にするための外部ビルドシステムがあります。 モジュールの1つに、コアモジュールとオプションのサブモジュールのセットがあります。コード構造が緩くようになります。これにより歴史的な理由にwebpack babel loaderが同じモジュールを2回インポートする
root
.\build\...
.\src
.\bundle1
.\build\...
.\src
.\core.js
.\submodules\
.\a.js
.\b.js
は、サブモジュールの数は、しばらくの間、それを展開する必要があり、コアモジュールに依存するので、少しであるが終わります循環依存性。前述のように、各モジュールは比較的自己完結型なので、独自のビルドシステムを持っています。ローカルビルドを使用すると、すべてが正常に表示されます。この問題は、「マスター」構築システムが使用されているときに明らかになります。同じビルドを起動すると、コアチャンクは2回生成されます。内部のサブモジュールは最初のインスタンスにアタッチしますが、2番目のインスタンスは実際にエクスポートされ、カード全体がかなり役に立たなくなります。 デベロッパーアプリケーションを作成していたときにバベルを使用していなかったため、このバグは表示されませんでした。ポイントを取得するためにそう長く取るため
謝罪は... 私の質問は、私はそれがこれを引き起こしている可能性が欠けていることを明らかに何かがあり、ある、またはバグがどこかにあるバベル/ WebPACKの-バベルあり-ローダ?
少し複雑なので、ここでソースをインライン化する代わりにthis reference projectを作成しました。上記のように、/ babelを使用していないため、/ developはこの問題を発生しません。 add-babelブランチが行います。
このリンクは、動的インポートが関与するときにコンテキストが使用されることを示します。 –
真。この場合、私の問題は 'context'が設定オプションであることを知らなかったことです。私はWebPackのすてきなドキュメントを責めます:p –