【问题标题】:Automated build angular cli app caching files issue自动构建 Angular cli 应用程序缓存文件问题
【发布时间】:2017-11-29 13:10:28
【问题描述】:

我已经使用自动构建过程通过 VSTS 部署了我的 Angular cli 应用程序。 但是我面临 js 文件缓存问题。 我必须刷新每个部署的页面才能看到新的变化。 请帮我解决这个问题。

谢谢,

【问题讨论】:

  • 如果您更改已部署的版本,如果您不进行某种形式的刷新,您希望它如何获得您的更改?魔法?
  • 现在浏览器使用缓存中的文件,它不会从服务器加载。从客户角度来看,按 ctrl + r 不是解决方案。

标签: angular azure azure-devops azure-web-app-service


【解决方案1】:

被互联网浏览器缓存,与部署过程或网络服务无关。

可以在链接中添加?version,比如<script type="text/javascript" src="myfile.js?1500"></script>,如果js文件改了可以改version

相关话题:How can I force clients to refresh JavaScript files?

【讨论】:

  • 感谢您的回复。是的,我已经做了你刚才解释的同样的事情。我想确认一下,这是进行缓存破坏的最佳方法吗?因为每当用户要登录应用程序时,浏览器都会获取所有具有不同版本号的 js 文件。但后来我有一些大的 js 文件,它接近 2.5 mb。所以加载需要时间。
  • 如果js文件没有被修改,则不需要修改版本,如果文件已经被浏览器缓存了,就会使用缓存的文件。也就是说,对于静态文件,网络浏览器是根据 URL 来缓存文件的,如果引用 url 改变了,就会加载新的。
  • 注意:我们在 Azure DevOps 构建管道中看到 index.html 没有更新,这可能是因为缓存破坏代码生成不知道文件在每次构建后都发生了变化是从零开始的。
猜你喜欢
  • 1970-01-01
  • 2016-11-20
  • 1970-01-01
  • 1970-01-01
  • 2020-08-19
  • 1970-01-01
  • 1970-01-01
  • 2017-03-01
  • 2017-06-14
相关资源
最近更新 更多