У меня есть приложение, встроенное в zf2, все js, css, изображения находятся в публичном каталоге. Файлы js и css, необходимые для всех файлов phtml, объявлены в layout.phtml модуля Application.
echo $this->headLink ( )
->prependStylesheet ( $this->basePath () . '/css/owl.carousel.css' )
->prependStylesheet ( $this->basePath () . '/css/owl.theme.css' );
<script type="text/javascript" src="/js/layout.js"></script>
<script type="text/javascript" src="/assets/bootstrap-fileupload/bootstrap-fileupload.js"></script>
<script src="/js/custom.js"></script>
И файлы, которые необходимы для определенного файла phtml, я включаю их в этот файл напрямую. Я использую кеширование для кеширования изображений. Но проблема здесь в том, что всякий раз, когда я вносил некоторые изменения в свои файлы js или css, я использовал ctrl + f5, чтобы увидеть изменения, иначе они не отражаются.
Ниже приведены конфигурации моего файла .htaccess:
# Enable expirations
ExpiresActive On
# My favicon
ExpiresByType image/x-icon "access plus 1 year�
# Images
ExpiresByType image/gif "access plus 1 month"ExpiresByType image/png "access plus 1 month"ExpiresByType image/jpg "access plus 1 month"ExpiresByType image/jpeg "access plus 1 month"
Как видите, я настроил htaccess для кэширования только изображений, но браузер автоматически кэширует файлы js и css. Я могу сделать Ctrl F5, но как я могу сказать моему пользователю Ctrl F5. На некоторых поисках я наткнулся на управление активами. Я думаю следовать этому Assetic Module. У меня есть некоторые сомнения, например, как использовать его для включения файлов JS или CSS в другой файл phtml? Сколько изменений нужно сделать, чтобы использовать его в существующем приложении ZF2? Или кто-то с лучшими вариантами? Если кто-то реализовал это ранее, пожалуйста, поделитесь некоторыми фрагментами кода.
Это не имеет ничего общего ни с вашими .htacces, ни с реализацией активов.
Браузеры просто кэшируют файлы css и js, если могут. Существует множество способов принудительного «обновления» или просто подачи новых файлов, которые вы можете найти здесь. Как заставить браузер перезагружать кэшированные файлы CSS / JS?
Однако я бы не советовал возиться с этим, если только вам это не нужно, так как браузеры действительно кешируют это по определенной причине.
Других решений пока нет …