前提・実現したいこと
現在、Vueにて作成したサイトをapacheで配信しています。Vue CLI3の初期設定にてPWAを有効にし、「production」としてbuildした後のフォルダをapacheで配信するという設計です。
今回、サイトをアップデートすることになり、viewを書き換えて再びbuildを行いました。しかし、一度サイトにアクセスしているユーザーのブラウザには前回のjsやcssが残っているため、ブラウザにてキャッシュを削除しないと新しいviewに変更されません。
- 現在キャッシュされているjs等のファイルが更新されていた時に、再キャッシュ
- package.jsonのversionを参照して上がっていた場合再キャッシュ
等の設定がVueCLI3にて作成したWebアプリケーションでできないか探しています。
PWAの設定
Vue CLI3にてPWAを有効にした時に作成されるregisterServiceWorker.jsは編集していません。
javascript
1/* eslint-disable no-console */ 2 3import { register } from 'register-service-worker'; 4 5if (process.env.NODE_ENV === 'production') { 6 register(`${process.env.BASE_URL}service-worker.js`, { 7 ready() { 8 console.log( 9 'App is being served from cache by a service worker.\n' 10 + 'For more details, visit https://goo.gl/AFskqB', 11 ); 12 }, 13 registered() { 14 console.log('Service worker has been registered.'); 15 }, 16 cached() { 17 console.log('Content has been cached for offline use.'); 18 }, 19 updatefound() { 20 console.log('New content is downloading.'); 21 }, 22 updated() { 23 console.log('New content is available; please refresh.'); 24 }, 25 offline() { 26 console.log('No internet connection found. App is running in offline mode.'); 27 }, 28 error(error) { 29 console.error('Error during service worker registration:', error); 30 }, 31 }); 32} 33
環境毎に検証
現在、PCのchrome、safari、iPhoneのChrome、Safari、Google検索にて確認を行いましたが、
iPhoneのSafariだけ、更新がされないようです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/25 12:57