【发布时间】:2016-12-16 15:23:00
【问题描述】:
我尝试从我的 Web 应用程序中缓存一些文件。目前我使用 grunt 将版本放在我的资源上:myFile.js?
但在 Chrome 控制台中,我可以看到它不是从缓存中加载的:
这是我的 index.html :
<head>
<!-- Meta -->
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-capable" content="yes">
<!-- Infos -->
<link rel="icon" sizes="192x192" href="FrontEnd/Ressources/img/logo-app.png" />
<link rel="shorcut" sizes="192x192" href="Ressources/img/logo-app.png" type="image/x-icon" />
<link rel="apple-touch-icon" href="FrontEnd/Ressources/img/logo-app.png" />
<!-- Javascript -->
<script src="FrontEnd/Ressources/js/XXXX.min.js?ver=@@XXXX-source-version"></script>
<script src="FrontEnd/config.js?ver=@@XXXX-source-version"></script>
<!-- CSS -->
<link rel="stylesheet" media="screen" type="text/css" href="FrontEnd/Ressources/css/XXXX.min.css?ver=@@XXXX-source-version" />
</head>
我怎样才能减少加载时间?它是从缓存中加载的吗(可能像这个文件)?
【问题讨论】:
-
这看起来更像是一个时间戳,而不是一个“真实”的版本号。您是否在对嵌入这些资源的页面的后续请求中验证了此值保持不变?
-
是的,它是一个时间戳值,但是每次构建我的项目时这个值都是固定的。我正在预生产环境中进行测试。我确信这个值仍然存在。
-
检查 HTTP 响应标头。也许您的底层服务器没有正确设置以首先生成必要的标头? (我在考虑 Last-Modified、ETag、Expires 等内容)
标签: javascript html angularjs caching cache-control