From 6a3e4663e0622dd146381d7e0a53df7e274efde0 Mon Sep 17 00:00:00 2001 From: Clark Du Date: Mon, 1 Apr 2019 20:29:32 +0100 Subject: [PATCH] fix(webpack): production preload files --- src/server/webpack-plugin/client.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/server/webpack-plugin/client.js b/src/server/webpack-plugin/client.js index ae2a2498672..5c3edb6745b 100644 --- a/src/server/webpack-plugin/client.js +++ b/src/server/webpack-plugin/client.js @@ -45,6 +45,18 @@ export default class VueSSRClientPlugin { } const id = m.identifier.replace(/\s\w+$/, '') // remove appended hash const files = manifest.modules[hash(id)] = chunk.files.map(fileToIndex) + + // In production mode, modules may be concatenated by scope hoisting + // Include ConcatenatedModule for not losing module-component mapping + if (Array.isArray(m.modules)) { + for (const concatenatedModule of m.modules) { + const id = hash(concatenatedModule.identifier.replace(/\s\w+$/, '')) + if (!manifest.modules[id]) { + manifest.modules[id] = files + } + } + } + // find all asset modules associated with the same chunk assetModules.forEach(m => { if (m.chunks.some(id => id === cid)) {