【发布时间】:2014-10-28 23:17:32
【问题描述】:
我在我的项目中一直遇到缓存 HTML 文件的问题。
我有一个静态资源(图像、脚本、css 等)的缓存破坏机制,但所有这些解决方案似乎都无法处理HTML 缓存问题。
我在所有HTML 文件上将expires 0; 添加到Nginx,但在我看来,我缺少一个明显的解决方案。
location ~ / {
if ( $document_uri ~* \.(html)$ ){
expires 0;
}
root /var/www/my-website;
}
这看起来很丑(!)此外,if is evil 我确信世界上所有的网站都需要处理这个问题,所以必须有更好的方法来解决这个问题。
在 Angular 中,我尝试使用 html2js - 它基本上将所有 HTML 文件转换为 JavaScript,然后它会经历与其他文件相同的缓存破坏机制。
但这也迫使用户下载一个大的 JavaScript 文件,这在某种程度上击败了 angular 的使用——它根据需要加载模板,使其非常轻巧和快速。
如何解决HTML缓存问题?
【问题讨论】: