我们的团队一直致力于角度应用程序,每周或每两周我们都会使用新功能更新它或更正出现的一些错误。
我们正在使用带有webservices的C#后端。
问题:当我们更新服务器上的应用程序时,我们有时(这不会一直发生)得到用户仍然看到旧HTML和功能的问题。解决这个问题的方法是什么?
我在谷歌上没有找到这个,也许我没有找到合适的条款, 任何帮助表示赞赏。
用户必须清除缓存才能获得新版本的应用程序。
答案 0 :(得分:1)
确保未使用javascript的缓存版本的最常见方法是将版本作为参数添加到脚本的引用中,如下所示:
<script src="/app.js?v=v1.0"></script>
答案 1 :(得分:1)
您所看到的是JS文件的缓存副本(也可能是HTML部分)。
当浏览器解析HTML页面时,它会提出获取JS资源的请求,并在决定检索缓存副本(如果有)或是否再次查询服务器之前查看各种信息。
您可以在Google fundamentals on HTTP caching
上找到一些额外的详细信息我自己采用的解决方案是设置缓存标头以在很长一段时间内缓存文件,然后使用构建中的工具在文件名或请求参数上对文件进行版本控制。
我使用grunt-cache-breaker并发现它可以很好地用于此目的。我知道还有一个gulp equivalent