Debugging method for webpack code splitting using React.lazy
P粉001206492
P粉001206492 2023-08-29 16:07:28
0
1
411
<p>I'm using <code>React.lazy</code> to try and split some code out of my main application but it's not working the way I expect and I'm having a hard time figuring out how to debug it . </p> <p>My code is roughly as follows:</p> <pre class="brush:php;toolbar:false;">// index.js import React from 'react'; import { LibraryUtils } from './library/utils'; const Component = React.lazy(() => import('./component')); ... // component.js import React from 'react'; import LibraryComponent from './library/component'; ...</pre> <p>What I want is:</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, vendors.chunk.js</li> <li>Asynchronous chunks: main-1.chunk.js, library-1.chunk.js</li> </ul> <p>What I get is: </p> <ul> <li>vendors.chunk.js:react</li> <li>main.chunk.js:index.js component.js</li> <li>library.chunk.js:library/utils libraries/components</li> <li>index.html: main.chunk.js, library.chunk.js, vendors.chunk.js</li> <li>Async blocks: None</li> </ul> <p>As a result, my initial page load requires loading all the JS, resulting in poor performance. </p> <p>How do I force webpack to split <code>library</code> into multiple chunks so that I can take advantage of async chunks? Better yet, how do I debug a problem like this? </p> <p>My configuration is roughly as follows:</p> <pre class="brush:php;toolbar:false;">splitChunks: { chunks: 'all', cacheGroups: { library: { test: /[\\/]library[\\/]/, }, }, }</pre></p>
P粉001206492
P粉001206492

reply all(1)
P粉795311321

The problem is the unexpected inclusion of babel-plugin-dynamic-import-node, which converts dynamic imports (for async loading) into regular require within the node environment, preventing any async blocks from being generated. The solution is to remove it (or only include it when running unit tests).

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!