fix: background-image via style inline pour éviter la réécriture Vite
All checks were successful
Deploy / Deploy to Production (push) Successful in 21s

Vite traite les url() dans les blocs <style> et réécrit le chemin au build.
Déplacement de l'url en attribut style inline (non traité par Vite).
Annule la tentative de correction via generateBundle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-03-25 13:44:03 +01:00
parent 411b281317
commit e74e7d249d
2 changed files with 1 additions and 14 deletions

View file

@ -125,7 +125,7 @@
<Cursor />
<Header />
<div class="bg-fixed"></div>
<div class="bg-fixed" style="background-image: url('/assets/img/scrollable-page-background.png')"></div>
<main class="main">
<div
@ -200,7 +200,6 @@
position: fixed;
inset: 0;
z-index: -1;
background-image: url('/assets/img/scrollable-page-background.png');
background-size: cover;
background-position: center;
background-repeat: no-repeat;

View file

@ -6,9 +6,6 @@ import path from 'path'
* Plugin: les fonts restent dans assets/fonts/, sans duplication dans dist/.
* Vite les copie dans dist/ pendant le build ce plugin les supprime du bundle
* et réécrit leurs URLs dans le CSS pour pointer vers /assets/fonts/.
*
* Également : les URLs /assets/img/ dans le CSS sont préservées telles quelles
* (Vite les réécrit en supprimant le chemin à cause de assetFileNames: '[name].[ext]').
*/
function keepFontsInPlace() {
const fontRe = /\.(woff2?|ttf|otf)$/i
@ -22,19 +19,10 @@ function keepFontsInPlace() {
}
for (const chunk of Object.values(bundle)) {
if (chunk.type === 'asset' && chunk.fileName.endsWith('.css')) {
// Réécrit les URLs des fonts
chunk.source = chunk.source.replace(
/url\((['"]?)([^'")\s]*\.(woff2?|ttf|otf))\1\)/gi,
(_, _q, p) => `url("/assets/fonts/${decodeURIComponent(p.split('/').pop())}")`
)
// Réécrit les URLs des images /assets/img/ (Vite supprime le chemin)
chunk.source = chunk.source.replace(
/url\((['"]?)([^'")\s]*assets\/img\/[^'")\s]*\.(png|jpe?g|gif|webp|avif|svg))\1\)/gi,
(_, _q, p) => {
const filename = decodeURIComponent(p.split('/').pop())
return `url("/assets/img/${filename}")`
}
)
}
}
}