1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00

Move NPM modules out of the commons chunk in dev mode. (#2716)

This is only a dev feature and it removes an error in HMR.
Otherwise it'll throw an error with undefined error in the webpack core.
This commit is contained in:
Arunoda Susiripala 2017-08-07 12:36:24 +05:30 committed by GitHub
parent 256f9dc765
commit 6477492f62

View file

@ -94,14 +94,6 @@ export default async function createCompiler (dir, { dev = false, quiet = false,
name: 'commons', name: 'commons',
filename: 'commons.js', filename: 'commons.js',
minChunks (module, count) { minChunks (module, count) {
// In the dev we use on-demand-entries.
// So, it makes no sense to use commonChunks based on the minChunks count.
// Instead, we move all the code in node_modules into this chunk.
// With that, we could gain better performance for page-rebuild process.
if (dev) {
return module.context && module.context.indexOf('node_modules') >= 0
}
// We need to move react-dom explicitly into common chunks. // We need to move react-dom explicitly into common chunks.
// Otherwise, if some other page or module uses it, it might // Otherwise, if some other page or module uses it, it might
// included in that bundle too. // included in that bundle too.
@ -109,6 +101,13 @@ export default async function createCompiler (dir, { dev = false, quiet = false,
return true return true
} }
// In the dev we use on-demand-entries.
// So, it makes no sense to use commonChunks based on the minChunks count.
// Instead, we move all the code in node_modules into each of the pages.
if (dev) {
return false
}
// If there are one or two pages, only move modules to common if they are // If there are one or two pages, only move modules to common if they are
// used in all of the pages. Otherwise, move modules used in at-least // used in all of the pages. Otherwise, move modules used in at-least
// 1/2 of the total pages into commons. // 1/2 of the total pages into commons.