【问题标题】:How to burst yeoman index.html cache如何爆破 yeoman index.html 缓存
【发布时间】:2016-01-27 17:35:27
【问题描述】:

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

我在我的项目中使用 Yeoman (generator-angular)。我查看了Gruntfile.js,发现它执行了一个任务,该任务在构建过程中重命名了所有内容,包括图像、js、css。只有没有被重命名的文件是index.html。我可以对index.html 做什么,以便浏览器加载此文件而不是使用缓存版本?

【问题讨论】:

  • 你能解决这个问题吗?

标签: angularjs caching


【解决方案1】:

您可以在服务器配置中进行修改,通过设置CacheExpires 响应头来告诉浏览器不要缓存。我给你举个 Nginx 的例子:

location / {
    index index.html;
    expires -1;
    add_header Pragma "no-cache";
    add_header Cache-Control "no-store";
}

在这里,我们使用标题响应index.html,这将阻止浏览器缓存index.html,并且浏览器将始终获得新副本。现在,Grunt 已经根据内容重命名 JS 和 CSS 文件,然后会自动刷新。

当然,上面的例子是针对Nginx的配置。您可以为您的网络服务器实现它。

【讨论】:

  • 您能否编辑帖子以在add_header Cache-Control "no-store" 末尾添加分号?该行产生add_header Cache-Control "no-store";。否则代码会中断?
猜你喜欢
  • 2018-10-29
  • 1970-01-01
  • 2018-11-24
  • 1970-01-01
  • 1970-01-01
  • 2011-01-29
  • 1970-01-01
  • 2022-08-19
  • 1970-01-01
相关资源
最近更新 更多