Здравствуйте. У меня есть файл вида common.8895880b84b2de4ffa69.js хэш 8895880b84b2de4ffa69 может менятся. Как мне на php сгенерировать подключаемый скрипт с путём до этого файла, типа: HTML: <script src="theme/js/file-with-hash.js"></script>
ну так наверное имя файла js так же в php генерится? или нет? Если сторонней программой то алгоритм таков: 1. получаем список файлов по маске common.*.js (например через glob) 2. получаем имя - генерируем строку с путем но вы должны самостоятельно следить, чтоб таких файлов не было несколько - а то подключит все. Ну и на шаге 2 можно проверить реально ли хеш файла совпадает с тем что в имени
хэш нужен, чтобы файл не кэшировался в брайузере. Чтоб не городить костыли, то лучше сказать webpack не использовать хэш, а генерить js в один и тот же файл. А уже на пыхе добавлять хэш в виде параметра: common.js?a=djhvbe878d
Таким способом файл не будет кешироваться вообще, а мне это не надо. Нужно, чтобы браузер сбрасывал кеш только у изменившихся файлов.
Через glob сделал: PHP: $generatedCommonCssFile = glob("catalog/view/theme/rucosmetics/stylesheet/generated/common.*.css")[0];
Я подсмотрел этот приём в yii и пользую сейчас везде PHP: <script src="js/work.bundle.js?v={{filemtime(public_path("js/work.bundle.js"))}}"></script> --- Добавлено --- В результате файл будет кешится ровно но до того момента, как изменится дата его модификации.