From 6bf094a4c11cadcba2acb261a0b3dfc3a61872b6 Mon Sep 17 00:00:00 2001 From: Jeff Avallone Date: Sun, 11 Feb 2018 10:29:35 -0500 Subject: [PATCH] Declaritively initializing service worker --- src/pages/index/index.js | 5 ++++- src/service-worker.js | 26 +++++++++++++++----------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/src/pages/index/index.js b/src/pages/index/index.js index 2655163..ebd5b9a 100644 --- a/src/pages/index/index.js +++ b/src/pages/index/index.js @@ -4,9 +4,12 @@ import ReactDOM from 'react-dom'; import App from '../../components/App'; import '../../style.css'; -import '../../service-worker'; +import { setupServiceWorker } from '../../service-worker'; import { setupGA } from '../../analytics'; +if (process.env.NODE_ENV === 'production') { + setupServiceWorker(); +} setupGA(); ReactDOM.render(, document.getElementById('root')); diff --git a/src/service-worker.js b/src/service-worker.js index d195676..c9da17a 100644 --- a/src/service-worker.js +++ b/src/service-worker.js @@ -1,11 +1,15 @@ -if ('serviceWorker' in navigator && process.env.NODE_ENV === 'production') { - window.addEventListener('load', () => { - navigator.serviceWorker.register('/sw.js') - .then(registration => { - console.log('SW registered:', registration); // eslint-disable-line no-console - }) - .catch(registrationError => { - console.log('SW registration failed:', registrationError); // eslint-disable-line no-console - }); - }); -} +const setupServiceWorker = () => { + if ('serviceWorker' in navigator) { + window.addEventListener('load', () => { + navigator.serviceWorker.register('/sw.js') + .then(registration => { + console.log('SW registered:', registration); // eslint-disable-line no-console + }) + .catch(registrationError => { + console.log('SW registration failed:', registrationError); // eslint-disable-line no-console + }); + }); + } +}; + +export { setupServiceWorker };