如何从vue.js网站清除缓存?

时间:2019-04-17 22:42:51

标签: vue.js caching vuejs2 vuejs-directive vuejs-transition

所以我用vue.js建立了一个网站。它部署在CloudFront发行版后面的AWS s3存储桶上。最近,我发现一些用户看到了2周旧版的网站。这是一个大问题,因为我每天都会更新网站几次。

我将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 个答案:

没有答案