首页 > 解决方案 > vue 应用程序/浏览器显示旧数据

问题描述

我用 vue 构建了一个小应用程序来显示来自 json 文件的一些数据。json 文件位于项目的公用文件夹中,因为我想使用另一个程序从中添加/删除/编辑条目。

当我部署 vue 应用程序时,它可以工作。我可以看到我网站上的所有条目,它们都显示在传单地图上。但是当我编辑 json 文件时,没有任何变化。即使我删除条目,仍然显示旧值。如果我打开 json 文件的直接路径,它也包含旧值,直到我用Strg+重新加载页面F5(如果我再次重新加载页面,但只有F5这样它才会再次显示旧值)。在 vue 应用程序中没有任何变化。

我认为这是某种缓存问题,但我无法弄清楚我的链的哪一部分是问题(apache webserver、vue 应用程序、浏览器)。我试图通过将它放在我的 vue 项目的 index.html 中来禁用缓存:

<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
<meta http-equiv="pragma" content="no-cache" />

并将其放入 apache 网络服务器的配置中:

<Location /gc>
    RewriteEngine On
    RewriteBase /gc/
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /gc/index.html [L]

    Header Unset ETag
    Header Set Cache-Control "max-age=0, no-store, no-cache, must-revalidate"
    Header Set Pragma "no-cache"
    Header Set Expires "Thu, 1 Jan 1970 00:00:00 GMT"
</Location>

我希望有人能指出我如何解决这个问题的正确方向。我无法弄清楚哪个组件是我的问题。

标签: apachevue.jscaching

解决方案


推荐阅读