我已经阅读了很多文章,其中没有写下缓存机制的适当示例。所有教程都对此进行了描述,并且我猜想,它从未真正优化过。我已经使用 grunt 编译了 css 和 js。
我已经包括
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
在我的 .htaccess 文件中。
实际上,这是为了缓存内容,并且每当发生任何更改时都会强制浏览器使用新文件。
我实际上并没有看到 DOM 加载内容或加载时间有任何变化,而且每次编译的 css 和 js 从服务器获取文件并在 5-7 重新加载后缓存。我猜它执行的缓存使用默认浏览器缓存。
那么我将如何使用缓存机制,以便在任何更改影响 css 和 JS 时快速提供页面并清除缓存?
我使用 PHP 作为我的应用程序。使用代码执行此操作的更好示例将非常有帮助。