Skip to content

Instantly share code, notes, and snippets.

@185driver
Created December 13, 2018 23:32
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 185driver/10678650e27892e307343acc38f003e5 to your computer and use it in GitHub Desktop.
Save 185driver/10678650e27892e307343acc38f003e5 to your computer and use it in GitHub Desktop.
import { register } from 'register-service-worker';
if (process.env.NODE_ENV === 'production') {
register(`${process.env.BASE_URL}service-worker.js`, {
ready () {
console.log('Service worker is active.');
},
registered (registration) {
console.log('Service worker has been registered.');
// Routinely check for app updates by testing for a new service worker.
setInterval(() => {
registration.update();
}, 1000 * 60 * 60); // hourly checks
},
cached () {
console.log('Content has been cached for offline use.');
},
updatefound () {
console.log('New content is downloading.');
},
updated (registration) {
console.log('New content is available; please refresh.');
// Add a custom event and dispatch it.
// Used to display of a 'refresh' banner following a service worker update.
// Set the event payload to the service worker registration object.
document.dispatchEvent(
new CustomEvent('swUpdated', { detail: registration })
);
},
offline () {
console.log('No internet connection found. App is running in offline mode.');
},
error (error) {
console.error('Error during service worker registration:', error);
},
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment