fix(serveur): index.html ET index.css jamais mis en cache
CI / build-and-test (push) Successful in 15m0s
CI / build-and-test (push) Successful in 15m0s
/index.css n'est pas fingerprinté (index.html le référence en dur) mais héritait de `maxAge: '1h'` : après un redéploiement F5 continuait de servir l'ANCIEN CSS jusqu'à une heure — correctif présent sur le serveur, invisible au navigateur (« je ne vois toujours pas la ligne fournisseur »). Il rejoint index.html dans le `setHeaders` no-cache (ETag → 304, coût nul). Test : `index.html et index.css : jamais mis en cache` dans server/tests/api_coverage.test.mjs (29 pass / 0 fail).
This commit is contained in:
+6
-1
@@ -3937,7 +3937,12 @@ app.use(express.static(staticDir, {
|
||||
index: 'index.html',
|
||||
setHeaders: (res, filePath) => {
|
||||
try {
|
||||
if (String(filePath || '').toLowerCase().endsWith('.html')) {
|
||||
// index.html ET index.css sont les SEULS fichiers non fingerprintés
|
||||
// (index.html référence /index.css en dur). Avec maxAge 1h, F5 leur
|
||||
// laissait l'ANCIEN fichier jusqu'à une heure après un redéploiement —
|
||||
// d'où « je ne vois pas le correctif » alors que le serveur est à jour.
|
||||
const name = path.basename(String(filePath || '')).toLowerCase();
|
||||
if (name === 'index.html' || name === 'index.css') {
|
||||
res.setHeader('Cache-Control', 'no-cache, no-store, must-revalidate');
|
||||
res.setHeader('Pragma', 'no-cache');
|
||||
res.removeHeader('Expires');
|
||||
|
||||
Reference in New Issue
Block a user