【问题标题】:Vue.js clear user cacheVue.js 清除用户缓存
【发布时间】:2020-02-18 09:26:56
【问题描述】:

我正在部署我的 Vue.js SPA 的新应用版本,但问题是只有在我清除缓存时才会加载它。所以对我来说这很好,但客户不会得到它。是否有解决方法来检查版本并强制浏览器重新加载我的页面? 我的设置是:

  • 使用最新的 Vue CLI 创建的 SPA
  • Vue 引导程序
  • 与 Webpack 捆绑
  • 托管在 AWS S3 存储桶中

最好的问候。

【问题讨论】:

  • 如果您使用 vue cli 和 webpack 构建,它应该对您的输出进行哈希处理,以便用户在刷新页面或再次访问该站点时可以获得新版本。我以前没用过 AWS,那会不会是为用户缓存旧版本?
  • 看来我的 webpack 配置没有散列我的输出。构建后我的文件具有相同的名称
  • 如果您在新创建的应用程序上运行vue create,然后运行npm run build,它应该已经设置为散列构建的jscss 文件,如app.3b6dbb13.js。你是如何创建你的应用程序的,你有什么改变吗?
  • 我使用vue create 创建了它,并且我的文件已经过哈希处理。但是如果我创建一个新版本,哈希是相同的......我是否必须增加一些版本号或任何东西?我还尝试生成一个配置并将filenameHashing 设置为true,默认情况下应该是这样,但什么也没发生。

标签: javascript vue.js webpack


【解决方案1】:

也许它对某人有帮助。

我想出了一些事情。首先,cli 似乎存在问题,一段时间后文件哈希再次起作用(可能是更新或只是简单的全新安装)。其次,我使用aws cloudfront 来提供我的应用程序,云端将您的站点缓存在其端点上。所以我必须使用使我的云端无效

aws cloudfront create-invalidation --distribution-id YOUR_DISTRIBUTION_ID --paths '/*' --profile YOUR_PROFILE >/dev/null

所以大家刷新后都得到了新的页面。

【讨论】:

    猜你喜欢
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 2014-10-23
    • 2017-02-26
    相关资源
    最近更新 更多