Skip to content

Commit 85bda0d

Browse files
committed
optimize for compression
1 parent 70a37d4 commit 85bda0d

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

lib/JsonpMainTemplate.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)