@@ -41,6 +41,8 @@ JsonpMainTemplate.prototype.render = function(hash, chunk, moduleTemplate, depen
4141 }
4242 addLine ( 0 , "(function webpackBootstrap(modules) {" ) ;
4343 addLine ( 1 , "var installedModules = {};" ) ;
44+ if ( chunk . chunks . length > 0 )
45+ addLine ( 1 , "var installedChunks = {0:0};" ) ;
4446 addRequireFunc ( 1 ) ;
4547 addLine ( 1 , "require.e = function requireEnsure(chunkId, callback) {" ) ;
4648 if ( chunk . chunks . length == 0 ) {
@@ -63,18 +65,17 @@ JsonpMainTemplate.prototype.render = function(hash, chunk, moduleTemplate, depen
6365 addLine ( 1 , "require.modules = modules;" ) ;
6466 addLine ( 1 , "require.cache = installedModules;" ) ;
6567 if ( chunk . chunks . length > 0 ) {
66- addLine ( 1 , "var installedChunks = {0:0};" ) ;
6768 addLine ( 1 , "window[" + JSON . stringify ( jsonpFunction ) + "] = function webpackJsonpCallback(chunkIds, moreModules) {" ) ;
68- addLine ( 2 , "for(var moduleId in moreModules)" ) ;
69- addLine ( 3 , "modules[moduleId] = moreModules[moduleId];" ) ;
70- addLine ( 2 , "var callbacks = [];" ) ;
71- addLine ( 2 , "for(var i = 0; i < chunkIds.length; i++) {" ) ;
72- addLine ( 3 , "var installedChunk = installedChunks[chunkIds[i]];" ) ;
73- addLine ( 3 , "if(installedChunk) callbacks.push.apply(callbacks, installedChunk);" ) ;
74- addLine ( 3 , "installedChunks[chunkIds[i]] = 0;" ) ;
69+ addLine ( 2 , "var moduleId, chunkId, callbacks = [];" ) ;
70+ addLine ( 2 , "while(chunkIds.length) {" ) ;
71+ addLine ( 3 , "chunkId = chunkIds.shift();" ) ;
72+ addLine ( 3 , "if(installedChunks[chunkId]) callbacks.push.apply(callbacks, installedChunks[chunkId]);" ) ;
73+ addLine ( 3 , "installedChunks[chunkId] = 0;" ) ;
7574 addLine ( 2 , "}" ) ;
76- addLine ( 2 , "for(var i = 0; i < callbacks.length; i++)" ) ;
77- addLine ( 3 , "callbacks[i].call(null, require);" ) ;
75+ addLine ( 2 , "for(moduleId in moreModules)" ) ;
76+ addLine ( 3 , "modules[moduleId] = moreModules[moduleId];" ) ;
77+ addLine ( 2 , "while(callbacks.length)" ) ;
78+ addLine ( 3 , "callbacks.shift().call(null, require);" ) ;
7879 addLine ( 1 , "};" ) ;
7980 }
8081 addLine ( 1 , "return require(0);" ) ;
0 commit comments