fix(v2): fix hot reload sometimes not working due to altered modules (#1370)

This commit is contained in:
Endilie Yacop Sucipto 2019-04-18 19:04:53 +08:00 committed by GitHub
parent 1ce4195f14
commit b4daac96c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -13,7 +13,6 @@ import registry from '@generated/registry';
function ComponentCreator(path) { function ComponentCreator(path) {
const modules = routesAsyncModules[path]; const modules = routesAsyncModules[path];
const originalModules = modules;
const optsModules = []; const optsModules = [];
const optsWebpack = []; const optsWebpack = [];
const mappedModules = {}; const mappedModules = {};
@ -63,8 +62,8 @@ function ComponentCreator(path) {
modules: optsModules, modules: optsModules,
webpack: () => optsWebpack, webpack: () => optsWebpack,
render: (loaded, props) => { render: (loaded, props) => {
// Transform back loaded modules back into the original structure. // clone the original object since we don't want to alter the original.
const loadedModules = originalModules; const loadedModules = JSON.parse(JSON.stringify(modules));
Object.keys(loaded).forEach(key => { Object.keys(loaded).forEach(key => {
let val = loadedModules; let val = loadedModules;
const keyPath = key.split('.'); const keyPath = key.split('.');