keep chunk ids
This commit is contained in:
parent
cc4f8345fa
commit
c5b52b547c
|
@ -383,13 +383,44 @@ Compilation.prototype.applyModuleIds = function applyModuleIds() {
|
|||
};
|
||||
|
||||
Compilation.prototype.applyChunkIds = function applyChunkIds() {
|
||||
var i = 0;
|
||||
var i = this.cache && this.cache["nextChunkId"] || 1;
|
||||
var usedIds = {0:true};
|
||||
if(this.cache) {
|
||||
if(!this.cache.chunks)
|
||||
this.cache.chunks = {};
|
||||
var keys = Object.keys(this.cache.chunks).slice();
|
||||
var cacheChunks = this.cache.chunks;
|
||||
this.cache.chunks = {};
|
||||
}
|
||||
this.chunks.forEach(function(chunk) {
|
||||
if(chunk.id === null)
|
||||
chunk.id = ++i;
|
||||
if(chunk.id === null) {
|
||||
if(this.cache) {
|
||||
for(var j = 0; j < keys.length; j++) {
|
||||
var chunkId = keys[j];
|
||||
var cacheChunk = cacheChunks[chunkId];
|
||||
if(usedIds[cacheChunk.id]) continue;
|
||||
if(chunk.blocks.some(function(block) {
|
||||
return cacheChunk.blocks.indexOf(block) >= 0;
|
||||
})) {
|
||||
usedIds[cacheChunk.id] = true;
|
||||
chunk.id = cacheChunk.id;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(chunk.id === null)
|
||||
chunk.id = i++;
|
||||
if(this.cache) {
|
||||
this.cache.chunks["c"+chunk.id] = {
|
||||
id: chunk.id,
|
||||
blocks: chunk.blocks
|
||||
};
|
||||
}
|
||||
}
|
||||
if(!chunk.ids)
|
||||
chunk.ids = [chunk.id];
|
||||
});
|
||||
}, this);
|
||||
if(this.cache) this.cache["nextChunkId"] = i;
|
||||
};
|
||||
|
||||
Compilation.prototype.sortItems = function sortItems() {
|
||||
|
|
Loading…
Reference in New Issue