javascript - YSlow 说我的 JavaScript 文件在合并 5 个文件并打包后不再缓存

标签 javascript caching yslow packer

我从 5 个正常人类可读的 JavaScript 文件开始 - 它们总共约为 10 KB。

使用YSlow后,我决定合并这 5 个文件并使用 Dean Edwards 的打包器打包它们。现在我有 1 个 4.5 KB 的文件。

当我重新运行 YSlow 时,它现在在“统计”下的已启动缓存中显示 JavaScript 文件,而以前(当我有单独的文件时)将缓存 5 个文件。

现在我的 HTTP 请求减少了 4 个,但已准备好的缓存的总页面重量增加了 4.5 KB。

我做错了什么吗?

我仍然计划在我的 JavaScript 文件夹中放置一个远期到期日期 header ,这样这个问题可能会消失,但我仍然有兴趣知道为什么它不会缓存 JavaScript 文件。

最佳答案

我认为您根本没有做错任何事情,您遵循了所有基本的最佳实践。

当你从没有正确设置 expires 的网络服务器下载某些内容时(我认为是这种情况,因为你想修复这个问题),预置的缓存将始终更高,因为 YSlow 认为即使浏览器已经缓存了所有内容,浏览器也需要下载它。

这是因为缓存在下载时设置为过期,因为没有 Expires header 。更新您的过期时间以使其具有长期有效的过期时间肯定会解决您的问题。

关于javascript - YSlow 说我的 JavaScript 文件在合并 5 个文件并打包后不再缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1820369/

相关文章:

java - 如果我的数据库关闭,取消 EhCache 中的 timeToLive 缓存过期?

html - 浏览器是否会在 CSS 文件中预加载图像,而不考虑页面上的使用情况?

javascript - 普通 JS : make 80% width element 100% IF contains an image

javascript - Wikitude Javascript SDK 中 MarkerList 数组的结构

javascript - 尝试导入错误: './components' does not contain a default export (imported as 'App' )

javascript - 我应该将我的 javascripts 和 css 文件合并为一个以提高性能吗?

firefox - 如何在 Firefox 中启用 YSlow?

javascript - 两个相同的按键事件;只有一部作品

java - Confluence Schema Registry 如何管理本地缓存

javascript - react : What would be a recommended way to cache state of the app in the browser to minimize the amount of requests to the backend?