如何破解yeoman index.html缓存

时间:2015-10-28 04:00:21

标签: angularjs caching

当我部署新版本的Angular应用程序时,旧版本仍然存在。只有,正在修复的解决方法是“艰难的”。刷新浏览器。 (这不是一个可接受的解决方案)。

我正在为我的项目使用Yeoman(generator-angular)。我查看了Gruntfile.js,看到它执行的任务在构建期间重命名所有内容,包括images,js,css。只有未重命名的文件为index.html。我可以对index.html做什么,以便浏览器加载此文件而不是使用缓存版本?

1 个答案:

答案 0 :(得分:4)

您可以在服务器配置中进行修改,通过为响应设置yy::parser::token::Cache标头来告知浏览器不缓存。我给你一个Nginx的例子:

Expires

我们正在回复location / { index index.html expires -1; add_header Pragma "no-cache"; add_header Cache-Control "no-cache, no-store, must-revalidate" } 标题,这会阻止浏览器缓存index.html,浏览器将始终获得新副本。现在,Grunt已经根据内容重命名了JS和CSS文件,然后它会自动刷新。

当然,以上示例适用于index.html配置。您可以为您的Web服务器实现它。