【发布时间】:2014-08-21 05:11:54
【问题描述】:
我一直在研究这个问题,这很简单:
现代浏览器(chrome / FF)正在缓存东西,html页面等等。
当您发布新版本时,Angular 会获取这些模板。但是,由于浏览器提供这些页面的缓存版本,而不是新的更新版本。
我已经阅读了大约 2000 篇关于如何实现这一目标的文章。 没有一个“元”标签对我有用..(例如:Using <meta> tags to turn off caching in all browsers?) 唯一可行的方法是通过添加一些参数值http://bla.com?random=39399339 来手动管理文件的版本。 但是,如果只是有时需要“清除缓存”(主要是在版本之间),这真的很烦人并且很难维护。
浏览器是否有可能不提供一种简单、受控的方式来手动“清除缓存”。在服务器或客户端方式上?
附: Angular 模板使管理变得更加困难。
【问题讨论】:
-
在文件末尾附加一些随机数/文件哈希/时间戳是我一直在做的事情,我同意这很烦人。或者,您可以在服务器提供文件时设置缓存标头,以便它们永远不会被缓存
-
你选择了什么路径来解决这个问题?
-
使用 angularjs gulp templatecache 包。编写 gulp 规则以将视图直接打包到代码中。有史以来最好的升级,应用程序在几毫秒内加载。
标签: javascript html angularjs caching