PHP生成的缓存动态JavaScript



我使用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是何时更改资源的现代解决方案,可以告诉浏览器。

如果高速缓存文件不存在,或者稍后文件修改时间戳,则缓存,将其渲染,然后将其安全到高速缓存,然后将其与缓存相呼应或渲染结果。

最新更新