当我部署新版本的Angular应用程序时,旧版本仍然存在。只有,正在修复的解决方法是“艰难的”。刷新浏览器。 (这不是一个可接受的解决方案)。
我正在为我的项目使用Yeoman(generator-angular)。我查看了Gruntfile.js
,看到它执行的任务在构建期间重命名所有内容,包括images,js,css。只有未重命名的文件为index.html
。我可以对index.html
做什么,以便浏览器加载此文件而不是使用缓存版本?
答案 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服务器实现它。