Service workersEdit this page on GitHub
Service workers act as proxy servers that handle network requests inside your app. This makes it possible to make your app work offline, but even if you don't need offline support (or can't realistically implement it because of the type of app you're building), it's often worth using service workers to speed up navigation by precaching your built JS and CSS.
In SvelteKit, if you have a
src/service-worker.js file (or
src/service-worker/index.js, etc) it will be built with Vite and automatically registered. You can disable automatic registration if you need to register the service worker with your own logic (e.g. prompt user for update, configure periodic updates, use
Inside the service worker you have access to the
Because it needs to be bundled (since browsers don't yet support
import in this context), and depends on the client-side app's build manifest, service workers only work in the production build, not in development. To test it locally, use