Vadiok
@Vadiok
Веб разработчик

Зачем 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 параметр, чтобы из кеша не бралась старая версия?
  • Вопрос задан
  • 249 просмотров
Решения вопроса 1
Vadiok
@Vadiok Автор вопроса
Веб разработчик
В общем есть несколько преимуществ отдельных файлов перед добавлением get параметра в 1 файл:
  1. Если кешируется html страница, для которой меняется верстка и стили, то для старой версии будут отдаваться старые файлы, для новой - новые. В случае с get параметром старой верстке отдастся новый файл стилей или js, которые могут быть несовместимы со старой разметкой.
  2. Некоторые прокси серверы кешируют статику, не учитывая get параметры - на данный момент скорее всего проблема не актуальна
  3. Проблемы, когда под статику используются отдельные серверы из-за несинхронизированности верстки и статики
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Tesla
@Tesla
Статику может отдавать nginx и делать это очень быстро.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы