Comments (4)
Most of my PWA-related changes/fixes/debugging were in: Doyban/Doyban-Website@6c13721 whereas the entire repo can be found on https://github.com/Doyban/Doyban-Website
from nuxt.
why are you using injectManifest
strategy without a custom sw? Use generateSW
strategy (default), it should work.
EDIT: are you using generate or build to deploy the app? if using build, you should prerender the root route (/)
from nuxt.
No changes without injectManifest
/ with generateSW
.
I have ServiceWorker in public/sw.js
:
import { clientsClaim } from 'workbox-core'
import {
precacheAndRoute,
cleanupOutdatedCaches,
createHandlerBoundToURL,
} from 'workbox-precaching'
import { registerRoute, NavigationRoute } from 'workbox-routing'
self.skipWaiting()
clientsClaim()
precacheAndRoute(self.__WB_MANIFEST)
cleanupOutdatedCaches()
//You can remove this code if you aren't precaching anything, or leave it in and live with the warning message
try {
const handler = createHandlerBoundToURL('/')
const route = new NavigationRoute(handler)
registerRoute(route)
} catch (error) {
console.warn('Error while registering cache route', { error })
}
I'm using generate
.
from nuxt.
Move the sw.js to some src folder and update the pwa options, you need to "build" it since cannot use you're using import statements inside a service worker (sw cannot use static/dynamic imports if you don't register it using type module, and will work only on chromium based browsers; IIRC you cannot use dynamic imports with type module yet).
You can also change static imports with importScripts
but you will need to add them also to the public folder or use CDN (you can keep your service worker in the public folder).
Check elk.zone github repo, you've an example and the configuration needed to build your service worker, check servce-worker folder and typescrupt option in nuxt.config.ts file (the service worker using TypeScript):
- https://github.com/elk-zone/elk/tree/main/service-worker
- https://github.com/elk-zone/elk/blob/main/nuxt.config.ts#L13
from nuxt.
Related Issues (20)
- State gets lost with "soft" reset when using @vite-pwa/nuxt and nuxt-auth-utils HOT 5
- How to disable caching "_nuxt" folder due to "The server responded with a status of 429" after every update!!! HOT 4
- How to use it with useAsyncData? HOT 1
- Service worker keeps showing 'trying to install' when using `app.baseURL` under injectManifest strategy HOT 1
- Importing the virtual module in a unit test with Vitest HOT 2
- npm WARN when run "npm i @vite-pwa/nuxt -D" HOT 3
- [Feature Request]: dynamic manifest.json via nitro HOT 2
- pwa does not cache data in Nuxt 3 SSR HOT 3
- Firefox injectManifest not working HOT 1
- Cannot find module '#pwa' or its corresponding type declarations. HOT 2
- vite-pwa/nuxt not working on ios
- Module does nothing ? (EDIT: No Firefox support ?) HOT 9
- Nuxt3 + PWA warnings in terminal HOT 6
- cant use npm run build
- I can't get 'start_url' to work for me
- showInstallPrompt not being called HOT 1
- Uncaught ReferenceError: __NUXT_ASYNC_CONTEXT__ is not defined HOT 7
- Service Worker "import sentry-release-injection" error when loading page HOT 19
- @vite-pwa/nuxt and vue-tsc conflict HOT 4
- API Request URLs Open in New Tab Redirect to 404 Page HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nuxt.