Skip to content

Commit 5775994

Browse files
committed
Do not add style as body link if it already exists
1 parent a44cd0b commit 5775994

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/index.js

+9-2
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,7 @@ class ExtractCssChunksPlugin {
330330
'',
331331
`// ${pluginName} CSS loading`,
332332
`var supportsPreload = ${supportsPreload}`,
333+
`var linkExists = false`,
333334
`var cssChunks = ${JSON.stringify(chunkMap)};`,
334335
'if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);',
335336
'else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {',
@@ -343,7 +344,13 @@ class ExtractCssChunksPlugin {
343344
Template.indent([
344345
'var tag = existingLinkTags[i];',
345346
'var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");',
346-
'if((tag.rel === "stylesheet" || tag.rel === "preload") && (dataHref === href || dataHref === fullhref)) return resolve();', ]),
347+
'if((tag.rel === "stylesheet" || tag.rel === "preload") && (dataHref === href || dataHref === fullhref)) {',
348+
Template.indent([
349+
'linkExists = true',
350+
'return resolve();',
351+
]),
352+
'}',
353+
]),
347354
'}',
348355
'var existingStyleTags = document.getElementsByTagName("style");',
349356
'for(var i = 0; i < existingStyleTags.length; i++) {',
@@ -387,7 +394,7 @@ class ExtractCssChunksPlugin {
387394
'}).then(function() {',
388395
Template.indent([
389396
'installedCssChunks[chunkId] = 0;',
390-
'if(supportsPreload) {',
397+
'if(!linkExists && supportsPreload) {',
391398
Template.indent([
392399
'var execLinkTag = document.createElement("link");',
393400
`execLinkTag.href = ${mainTemplate.requireFn}.p + ${linkHrefPath};`,

0 commit comments

Comments
 (0)