我使用jshrink与自定义函数将8个未压缩的JavaScript文件组合到一个压缩(Minified)一个,例如:
<?php
// Filename: js.php
header('Content-type: text/javascript');
require_once '../JShrink.php';
function concatenateFiles($files)
{
$buffer = '';
foreach($files as $file) {
$buffer .= file_get_contents(__DIR__ . '/' . $file);
}
return $buffer;
}
$js = concatenateFiles([
'core.min.js',
'promise.js',
'welcome.js',
'imagesloaded.js',
'cropper.js',
'translate.js',
'custom.js',
'masonry.js',
]);
$output = JShrinkMinifier::minify($js);
echo $output;
然后,我在我的索引页页脚中调用此PHP文件:
<script type="text/javascript" src="<? echo $url ?>/js/js.php"></script>
它没有被缓存。
我每天修改JS代码,我不想继续手动组合它们,但是我还需要一种方法来获取回声的JS代码缓存,仅此代码而不是服务器上的所有PHP文件。
我该如何执行此操作,高速缓存过程将如何?
预先感谢。
从理论上讲,您需要使用适当到期的标题(" ...")。实际上,这无法正常工作。您可以将一生谷歌搜索以获取正确的"高速缓存"one_answers"到期:"的适当示例:您发现的一切都无法正常工作。所以我建议您阅读此信息:
https://developers.google.com/web/fundamentals/performance/optimizing-content-felcipical/http-caching
eTags是何时更改资源的现代解决方案,可以告诉浏览器。
如果高速缓存文件不存在,或者稍后文件修改时间戳,则缓存,将其渲染,然后将其安全到高速缓存,然后将其与缓存相呼应或渲染结果。