appcache-polyfill-sw
v0.4.0
Published
A service worker implementation of the behavior defined in a page's App Cache manifest.
Downloads
853
Maintainers
Readme
About
A pair of modules meant to ease the transition off of AppCache and on to service workers.
Note: These libraries attempt to replicate the caching and serving behavior that AppCache offers, but does not include direct equivalents to the window.applicationCache
interface, nor the related events that AppCache would fire in the window
context.
Installation
There are two modules to install: one that is used from within the window
context in your web app, and the other that's used in the context of your
service worker.
npm install --save-dev appcache-polyfill-window
npm install --save-dev appcache-polyfill-sw
As an alternative to local installation & serving, you can load both libraries from a NPM CDN, like https://unpkg.com/ or https://www.pika.dev/.
Usage
Window client
<script type="module">
import {init} from '/path/to/appcache-polyfill-window/build/index.modern.js';
// Optional: define a callback that runs whenever caches are updated.
// This is *rough* replacement for listening for AppCache updates.
function myCachePopulatedCallback(urls) {
// urls is an array of updated URLs
// Your logic goes here.
}
init({
cachePopulatedCallback: myCachePopulatedCallback,
}).then(() => navigator.serviceWorker.register('sw.js'));
</script>
Service worker client
importScripts('/path/to/appcache-polyfill-sw/build/index.umd.js');
self.addEventListener('fetch', (event) => {
// Alternatively, examine event.request and only use the
// appcachePolyfill.handle() logic for a subset of requests.
event.respondWith(appcachePolyfill.handle(event));
});
Feedback
Please open an issue with feedback or bug reports if you run in to problems.