From 3be15b7869e81c8bf4493d90a3ab9ce0cd6abe28 Mon Sep 17 00:00:00 2001 From: CasbaL Date: Tue, 10 Jun 2025 16:19:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(lib):=20=E4=BF=AE=E5=A4=8D=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E7=8E=AF=E5=A2=83=E4=B8=8B=20CSS=20=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=92=8C=E9=9D=99=E6=80=81=E8=B5=84=E6=BA=90?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在构建绝对 URL 时添加了对 assetsDir 的处理,确保静态资源路径正确 - 调整了相对 URL 的处理逻辑,增加了对 assetsDir 的支持 - 修复了 assetsDir 为空时的处理,避免生成空字符串路径 --- packages/lib/src/prod/expose-production.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/lib/src/prod/expose-production.ts b/packages/lib/src/prod/expose-production.ts index c601ac68..85169e95 100644 --- a/packages/lib/src/prod/expose-production.ts +++ b/packages/lib/src/prod/expose-production.ts @@ -101,16 +101,17 @@ export function prodExposePlugin( const isAbsoluteUrl = (url) => url.startsWith('http') || url.startsWith('//'); const cleanBaseUrl = trimmer.trailing(baseUrl); + const cleanAssetsDir = trimmer.leading(assetsDir); const cleanCssPath = trimmer.leading(cssPath); const cleanCurUrl = trimmer.trailing(curUrl); if (isAbsoluteUrl(baseUrl)) { - href = [cleanBaseUrl, cleanCssPath].filter(Boolean).join('/'); + href = [cleanBaseUrl, cleanAssetsDir, cleanCssPath].filter(Boolean).join('/'); } else { if (cleanCurUrl.includes(cleanBaseUrl)) { - href = [cleanCurUrl, cleanCssPath].filter(Boolean).join('/'); + href = [cleanCurUrl, cleanAssetsDir, cleanCssPath].filter(Boolean).join('/'); } else { - href = [cleanCurUrl + cleanBaseUrl, cleanCssPath].filter(Boolean).join('/'); + href = [cleanCurUrl + cleanBaseUrl, cleanAssetsDir, cleanCssPath].filter(Boolean).join('/'); } } } else { @@ -197,7 +198,7 @@ export function prodExposePlugin( ) .replace( '__VITE_ASSETS_DIR_PLACEHOLDER__', - `'${viteConfigResolved.config?.build?.assetsDir || ''}'` + `'${viteConfigResolved.config?.build?.assetsDir || 'assets'}'` ) const filepathMap = new Map() From 717e86ef8be00d308e246bb951ad1a3c4183ebff Mon Sep 17 00:00:00 2001 From: CasbaL Date: Wed, 11 Jun 2025 09:33:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(prod):=20=E4=BC=98=E5=8C=96=E8=B5=84?= =?UTF-8?q?=E6=BA=90=20URL=20=E5=A4=84=E7=90=86=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 cleanBaseUrl 处理中增加了替换操作,去除末尾的点号 - 这个修改解决了在某些特定情况下可能导致资源 URL 构建不正确的问题 --- packages/lib/src/prod/expose-production.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lib/src/prod/expose-production.ts b/packages/lib/src/prod/expose-production.ts index 85169e95..0162ac8f 100644 --- a/packages/lib/src/prod/expose-production.ts +++ b/packages/lib/src/prod/expose-production.ts @@ -100,7 +100,7 @@ export function prodExposePlugin( } const isAbsoluteUrl = (url) => url.startsWith('http') || url.startsWith('//'); - const cleanBaseUrl = trimmer.trailing(baseUrl); + const cleanBaseUrl = trimmer.trailing(baseUrl).replace('.', ''); const cleanAssetsDir = trimmer.leading(assetsDir); const cleanCssPath = trimmer.leading(cssPath); const cleanCurUrl = trimmer.trailing(curUrl);