Skip to content

Commit 413c86a

Browse files
authored
fix(html): rewrite assets url in <template> (#17988)
1 parent dc3c14f commit 413c86a

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

packages/vite/src/node/plugins/html.ts

+3
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,9 @@ function traverseNodes(
173173
node: DefaultTreeAdapterMap['node'],
174174
visitor: (node: DefaultTreeAdapterMap['node']) => void,
175175
) {
176+
if (node.nodeName === 'template') {
177+
node = (node as DefaultTreeAdapterMap['template']).content
178+
}
176179
visitor(node)
177180
if (
178181
nodeIsElement(node) ||

playground/assets/__tests__/assets.spec.ts

+7
Original file line numberDiff line numberDiff line change
@@ -588,3 +588,10 @@ test.runIf(isBuild)('assets inside <noscript> is rewrote', async () => {
588588
/<img class="noscript" src="\/foo\/bar\/assets\/asset-[-\w]+\.png" \/>/,
589589
)
590590
})
591+
592+
test.runIf(isBuild)('assets inside <template> is rewrote', async () => {
593+
const indexHtml = readFile('./dist/foo/index.html')
594+
expect(indexHtml).toMatch(
595+
/<img class="template" src="\/foo\/bar\/assets\/asset-[-\w]+\.png" \/>/,
596+
)
597+
})

playground/assets/index.html

+5
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,11 @@ <h3>assets in noscript</h3>
413413
<img class="noscript" src="./nested/asset.png" />
414414
</noscript>
415415

416+
<h3>assets in template</h3>
417+
<template>
418+
<img class="template" src="./nested/asset.png" />
419+
</template>
420+
416421
<link rel="stylesheet" href="asset/style.css" />
417422
<div class="relative-css">link style</div>
418423
<div class="relative-js"></div>

0 commit comments

Comments
 (0)