0

Webpack 4 と 5 の両方をサポートするために維持しているプラ​​グインをアップグレードしているときに、次のレンガの壁に遭遇しました。情報がまったく見つからず、Gitterの誰も助けてくれないようです。

プラグインは、問題なく動作するアセット (SVG スプライトマップ) を追加しcompilation.assetsます。プラグインには、他のプラグインとの相互運用性に必要な作成されたチャンクをユーザーが保持できる機能があります。Webpack 4 の最小限の作業コードは、次のようなものです (そして、私にはいつも少しハッキリしているように感じましたが、うまくいきました ‍♂️):

// OutputOptions.chunk.name would equal 'spritemap' in this example
const chunk = compilation.addChunk(outputOptions.chunk.name);
const module = new RawModule('', `${outputOptions.chunk.name}-dummy-module`);

chunk.addModule(module);

Webpack 5 で同じアプローチを使用すると、次のエラーがスローされます。

ERROR in spritemap.js
No code generation entry for spritemap-dummy-module (existing entries: <path-to>/svg-spritemap-webpack-plugin/examples/simple/src/index.js)

Chunk.addModuleまた、代わりに使用して修正できる廃止予定の警告も表示されますcompilation.chunkGraph.connectChunkAndModule(chunk, module);が、これは (明らかに) コード生成エントリ エラーを取り除きません。

4

1 に答える 1