diff --git a/packages/workbox/templates/sw.register.js b/packages/workbox/templates/sw.register.js index 2475e8de..1a7fc379 100755 --- a/packages/workbox/templates/sw.register.js +++ b/packages/workbox/templates/sw.register.js @@ -1,17 +1,22 @@ -import { Workbox } from 'workbox-cdn/workbox/workbox-window.<%= options.dev ? 'dev' : 'prod' %>.es5.mjs' +export default async function (ctx, inject) { + let workbox = {} -export default async function(ctx, inject) { - const workbox = new Workbox('<%= options.swURL %>', { - scope: '<%= options.swScope %>' - }) + try { + if (!'serviceWorker' in navigator) { + throw new Error('Serviceworker is not supported!') + } - // Inject as $workbox - inject('workbox', workbox) + const { Workbox } = require('workbox-cdn/workbox/workbox-window.<%= options.dev ? 'dev' : 'prod' %>.es5.mjs') + + workbox = new Workbox('<%= options.swURL %>', { + scope: '<%= options.swScope %>' + }) - if (!'serviceWorker' in navigator) { - workbox._unsupported = true - return // Unsupported browser! + workbox.register() + } catch (e) { + console.warn('Cannot register workbox:', e) } - workbox.register() + // Inject as $workbox + inject('workbox', workbox) }