如何爆掉 yeoman index.html 缓存

Sim*_*ith 6 caching angularjs

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

我在我的项目中使用 Yeoman(生成器角度)。我查看了它,Gruntfile.js发现它执行了一个在构建期间重命名所有内容的任务,包括图像、js、css。只有没有被重命名的文件是index.html. 我该怎么做才能index.html让浏览器加载此文件而不是使用缓存版本?

Sha*_*wal 7

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

location / {
    index index.html;
    expires -1;
    add_header Pragma "no-cache";
    add_header Cache-Control "no-store";
}
Run Code Online (Sandbox Code Playgroud)

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

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

  • 您可以编辑帖子以在“add_header Cache-Control“no-store””末尾添加分号吗?该行产生 `add_header Cache-Control "no-store";`。否则代码会中断 (2认同)