Зачем Laravel Elixir создает файлы с хешами в public/build/assets (примерно аналогично в Yii)?
Допустим, создаем через laravel-elixir файл в public/assets/some.css.
При этом создается копия этого файла в public/build/assets/some-filehash.css, который и вызывается из вью при использовании elixir('assets/some.css').
Непонятно, чем это лучше варианта, если бы elixir('assets/some.css') отдавал public/assets/some.css?v=filehash.
Примерно аналогичная ситуация в Yii.
Зачем делать копии файлов, если можно во вью дописывать к файлам css параметр, чтобы из кеша не бралась старая версия?
В общем есть несколько преимуществ отдельных файлов перед добавлением get параметра в 1 файл:
Если кешируется html страница, для которой меняется верстка и стили, то для старой версии будут отдаваться старые файлы, для новой - новые. В случае с get параметром старой верстке отдастся новый файл стилей или js, которые могут быть несовместимы со старой разметкой.
Некоторые прокси серверы кешируют статику, не учитывая get параметры - на данный момент скорее всего проблема не актуальна
Проблемы, когда под статику используются отдельные серверы из-за несинхронизированности верстки и статики