diff --git a/modules/pwa/index.ts b/modules/pwa/index.ts index 520c4b85..14df539a 100644 --- a/modules/pwa/index.ts +++ b/modules/pwa/index.ts @@ -79,6 +79,7 @@ export default defineNuxtModule({ if (entry) { res.statusCode = 200 res.setHeader('Content-Type', 'application/manifest+json') + res.setHeader('Cache-Control', 'public, max-age=0, must-revalidate') res.write(JSON.stringify(entry), 'utf-8') res.end() } @@ -135,15 +136,22 @@ export default defineNuxtModule({ else { nuxt.hook('nitro:config', async (nitroConfig) => { nitroConfig.routeRules = nitroConfig.routeRules || {} + nitroConfig.routeRules!['/sw.js'] = { + headers: { + 'Cache-Control': 'public, max-age=0, must-revalidate', + }, + } for (const locale of pwaLocales) { nitroConfig.routeRules![`/manifest-${locale.code}.webmanifest`] = { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, } nitroConfig.routeRules![`/manifest-${locale.code}-dark.webmanifest`] = { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, } } diff --git a/nuxt.config.ts b/nuxt.config.ts index 873a3e89..9008e9e5 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -122,6 +122,7 @@ export default defineNuxtConfig({ '/manifest.webmanifest': { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, }, },