Я использую JShrink с пользовательской функцией, чтобы объединить 8 несжатых файлов JavaScript в один сжатый (уменьшенная), как здесь:Cache динамический JavaScript генерируется PHP
<?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 = \JShrink\Minifier::minify($js);
echo $output;
Тогда я называю это PHP-файл в моем индексе нижний колонтитул страницы:
<script type="text/javascript" src="<? echo $url ?>/js/js.php"></script>
Не кэшируется.
Я изменяю свои JS-коды ежедневно, и мне не нравится сочетать их вручную, но также мне нужен способ получить эхо-код JS, кешированный, только этот код, а не все php-файлы на сервере.
Как я могу это сделать и как будет выполняться процесс очистки кэша?
Заранее спасибо.
Вы сделали свой день человеком, спасибо. Я следил за запиской и нашел этот отличный ответ, надеюсь, что это поможет кому-то: http://stackoverflow.com/questions/13197479/how-to-use-etags-in-a-php-file – tinyCoder
Рад это услышать :) Хорошая оптимизированная передача данных! – dkellner