From 126989b4ff78dd852d005b9a59705a8cdb0c7055 Mon Sep 17 00:00:00 2001 From: xiangmixue Date: Thu, 17 Sep 2020 15:15:18 +0800 Subject: [PATCH 1/2] fix bug: cannot inline multiple css --- src/core/v4.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/core/v4.ts b/src/core/v4.ts index 6adcd79..7bf16a4 100644 --- a/src/core/v4.ts +++ b/src/core/v4.ts @@ -32,7 +32,8 @@ export class PluginForHtmlWebpackPluginV4 extends BasePlugin { private cssStyleMap: Map = new Map() private prepareCSSStyle(data: BeforeAssetTagGenerationData) { - data.assets.css.forEach((cssLink, index) => { + const [...cssAssets] = data.assets.css + cssAssets.forEach(cssLink => { if (this.isCurrentFileNeedsToBeInlined(cssLink)) { const style = this.getCSSStyle({ cssLink, @@ -45,9 +46,11 @@ export class PluginForHtmlWebpackPluginV4 extends BasePlugin { } else { this.cssStyleMap.set(data.plugin, [style]) } - + const cssLinkIndex = data.assets.css.indexOf(cssLink) // prevent generate tag - data.assets.css.splice(index, 1) + if (cssLinkIndex !== -1) { + data.assets.css.splice(cssLinkIndex, 1) + } } } }) From ef962fafb296317d88745137a01385ffab19107e Mon Sep 17 00:00:00 2001 From: xiangmixue Date: Fri, 18 Sep 2020 13:01:37 +0800 Subject: [PATCH 2/2] fix bug: can not inline multiple css --- src/core/v3.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/v3.ts b/src/core/v3.ts index dae26a3..b29c559 100644 --- a/src/core/v3.ts +++ b/src/core/v3.ts @@ -17,7 +17,8 @@ export class PluginForHtmlWebpackPluginV3 extends BasePlugin { private process(data: HtmlWebpackPluginData) { // check if current html needs to be inlined if (this.isCurrentFileNeedsToBeInlined(data.outputName)) { - data.assets.css.forEach((cssLink, index) => { + const [...cssAssets] = data.assets.css + cssAssets.forEach(cssLink => { const style = this.getCSSStyle({ cssLink, publicPath: data.assets.publicPath, @@ -30,8 +31,11 @@ export class PluginForHtmlWebpackPluginV3 extends BasePlugin { style: style, }) + const cssLinkIndex = data.assets.css.indexOf(cssLink) // prevent generate tag - data.assets.css.splice(index, 1) + if (cssLinkIndex !== -1) { + data.assets.css.splice(cssLinkIndex, 1) + } } })