Как очистить кеш с сайта vue.js?

Итак, я создал сайт с vue.js. Он развернут на платформе AWS s3, которая находится за дистрибутивом CloudFront. Недавно я узнал, что некоторые пользователи видят двухнедельную версию сайта. Это большая проблема, так как я обновляю сайт несколько раз в день.

Я установил настройку CloudFront TTL на 1 минуту, чтобы попытаться избежать более длительного кэширования, но это не решило проблемы. Я попытался внедрить службу, работающую следующим образом, которая вызвала много исключений и не работала.

if ('serviceWorker' in navigator) {
  window.addEventListener('load', function() {
    navigator.serviceWorker.register('/sw.js').then(function(registration) {
      // Registration was successful
      console.log('ServiceWorker registration successful with scope: ', registration.scope);
    }, function(err) {
      // registration failed :(
      console.log('ServiceWorker registration failed: ', err);
    });
  });
}

Я также попытался полностью отключить кеш, но это не сработало:

module.exports = {
  chainWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      config.module.rule('vue').uses.delete('cache-loader');
      config.module.rule('js').uses.delete('cache-loader');
      config.module.rule('ts').uses.delete('cache-loader');
      config.module.rule('tsx').uses.delete('cache-loader');
    }
  }
}

Я хочу иметь возможность представлять совершенно новый контент на веб-сайте и не позволять ему кэшироваться неделями....

0 ответов

Другие вопросы по тегам