Использую PowerShell для объединения и минификации JS/CSS. Как автоматически обновлять параметр версии в шаблоне? Пример:
<link rel='stylesheet' href='/css/bundle_new.css?ver=2'>
<script src='/js/bundle_new.js?ver=2'></script>
Использую PowerShell для объединения и минификации JS/CSS. Как автоматически обновлять параметр версии в шаблоне? Пример:
<link rel='stylesheet' href='/css/bundle_new.css?ver=2'>
<script src='/js/bundle_new.js?ver=2'></script>
Можно сделать пересчет версии через дату или хеш содержимого файла, чтобы исключить кеширование. Я бы обновлял параметр версии напрямую в скрипте сборки, заменяя нужное значение. А вы как думаете, какие нюансы могут возникнуть при таком подходе?
На практике я использовал подход с вычислением хеша содержимого файлов. После сборки скрипт считывал итоговый хеш и подставлял его в шаблоны, что решало проблему кэширования без лишних манипуляций. В PowerShell удобно делать replace по файлу с помощью регулярных выражений, просто генерируя новое значение на основе даты или хеша. Этот метод позволяет обеспечить актуальность версий, не усложняя процесс сборки.
Я тоже решил такую задачу, и мой путь привёл меня к использованию таймстемпа вместо хеша. Во время сборки подставлялась текущая дата и время, и, хоть это приводило к изменению версии даже при минимальных изменениях, это эффективно решало проблему кеширования. Мне показалось, что такой подход проще реализовать, особенно если не хочется нагружать скрипт сложными вычислениями. Можно потом доработать логику, чтобы менять версию только при реальных изменениях. Такой опыт показал, что все зависит от конкретных требований.