Méthode de débogage pour le fractionnement du code du webpack à l'aide de React.lazy
<p>J'utilise <code>React.lazy</code> pour essayer de séparer du code de mon application principale, mais cela ne fonctionne pas comme prévu et j'ai du mal à comprendre comment le faire. déboguez-le. </p>
<p>Mon code est à peu près le suivant :</p>
<pre class="brush:php;toolbar:false;">// index.js
importer React depuis « react » ;
importer { LibraryUtils } depuis './library/utils' ;
const Component = React.lazy(() => import('./component'));
...
// composant.js
importer React depuis « react » ;
importer LibraryComponent depuis './library/component' ;
...</pré>
<p>Ce que je veux, c'est :</p>
<ul>
<li>vendors.chunk.js:react</li>
<li>main.chunk.js:index.js</li>
<li>main-1.chunk.js:component.js</li>
<li>library-0.chunk.js:library/utils</li>
<li>library-1.chunk.js:library/component</li>
<li>index.html : main.chunk.js, library-0.chunk.js, sellers.chunk.js</li>
<li>Blocs asynchrones : main-1.chunk.js, library-1.chunk.js</li>
</ul>
<p>Ce que j'obtiens est : </p>
<ul>
<li>vendors.chunk.js:react</li>
<li>main.chunk.js:index.js + composant.js</li>
<li>library.chunk.js:library/utils + library/component</li>
<li>index.html : main.chunk.js, library.chunk.js, sellers.chunk.js</li>
<li>Blocs asynchrones : aucun</li>
</ul>
<p>En conséquence, le chargement initial de ma page nécessite le chargement de tout le JS, ce qui entraîne de mauvaises performances. </p>
<p>Comment forcer Webpack à diviser la <code>library</code> en plusieurs morceaux afin de pouvoir profiter des morceaux asynchrones ? Mieux encore, comment déboguer un problème comme celui-ci ? </p>
<p>Ma configuration est à peu près la suivante :</p>
<pre class="brush:php;toolbar:false;">splitChunks : {
morceaux : 'tous',
Groupes de cache : {
bibliothèque: {
test : /[\/]bibliothèque[\/]/,
},
},
}</pre></p>