From ddadcdd7ca1b79dac613d2c1896e9070047c50fe Mon Sep 17 00:00:00 2001 From: Kacper Donat Date: Wed, 26 Jun 2019 19:09:28 +0200 Subject: [PATCH] add offline support via service worker --- config/packages/framework.yaml | 3 --- resources/ts/app.ts | 2 +- webpack.config.js | 9 ++++++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml index abc9ce8..8b24418 100644 --- a/config/packages/framework.yaml +++ b/config/packages/framework.yaml @@ -14,9 +14,6 @@ framework: php_errors: log: true - assets: - version_strategy: 'assets.modified_time_version_strategy' - cache: # Put the unique name of your app here: the prefix seed # is used to compute stable namespaces for cache keys. diff --git a/resources/ts/app.ts b/resources/ts/app.ts index 3da1fce..26ec082 100644 --- a/resources/ts/app.ts +++ b/resources/ts/app.ts @@ -38,7 +38,7 @@ Vue.use(Vuex); if ('serviceWorker' in navigator) { window.addEventListener('load', function() { - navigator.serviceWorker.register('/dist/service-worker.js'); + navigator.serviceWorker.register('/service-worker.js'); }); } })(); diff --git a/webpack.config.js b/webpack.config.js index 85a138f..bee2fab 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -60,7 +60,14 @@ const config = { new MiniCssExtractPlugin({ filename: '[name].css' }), new CopyWebpackPlugin([{ from: './resources/images/', to: '../images/', ignore: ['*.ai'] }]), new ImageminPlugin({ test: /\.(jpe?g|png|gif|svg)$/i }), - new GenerateSW() + new GenerateSW({ + navigationPreload: true, + runtimeCaching: [{ + urlPattern: ({event}) => event.request.mode === 'navigate', + handler: 'NetworkFirst', + }], + swDest: '../service-worker.js' + }) ], optimization: { minimizer: [