Gulp.js #4 - Боремся с кэшированием или ревизии подключаемых файлов.

preview_player
Показать описание

При обычном подключении различных файлов, таких как стили, скрипты, изображения и т.д. они могут закэшироваться браузером/сервером и произведенные в них изменения останутся незамеченными и страничка сайта останется в браузере без изменений. В данном видео показана работа gulp-плагинов, для борьбы с подобным поведением путем добавления хэшей к названиям подключаемых файлов.

Больше уроков от lofblog: #loftblog
Все уроки по хештегу: #loftblogJS
Полезные уроки для веб-программиста: #вебпрограммист
#Gulp

Поставь лайк - смотивируй автора писать еще :)
Рекомендации по теме
Комментарии
Автор

Очень вовремя, как раз ковыряюсь с этой проблемкой. Спасибо!

AlekseyChyrva
Автор

Для локальной разработки можно отрубать кэш через консоль.
При работе с CSS/JS она открыта всегда, а там в настроечках можно галочку поставить "Disable cache (while DevTools is open)". По моему это проще, чем писать кучу конфигов и ставить ненужные пакеты. :)

Для боевого сервера можно использовать ETag. Только лишь для мегапосещаемого сайта есть смысл заморочиться с жёстким кешированием.

P.S. Мало пояснений, почему так и почему эдак. Важно: некоторые браузеры НЕ кешируют документы, если в адресе есть вопросительный знак, т.к считают их динамическими. Потому изменять имя файла - правильнее, если нам действительно нужно кэширование! :)

SlyDeath
Автор

Великолепный урок, спасибо огромное!
Жаль у меня каким то образом не вышло обкатать rev collector, вроде и пути прописал и код сверил, а нет. Надеюсь на данный момент этот плагин актуален и не устарел?

alexandrposlayko
Автор

Спасибо огромное за урок!
xDDD - "Пока смотрел хотелось спросить, а есть плагин, чтобы установить плагин?))"
Цепочка действий конечно логичная, но неужели нету более изящного решения?

hidden_from_you
Автор

Скажите, пожалуйста, какой вариант предпочтительнее и почему. Мне, как новичку, само собой ближе подключить один плагин, даже не добавляя новых тасков, а сам пайп без параметров вставить в имеющийся таск, но есть ли подводные камни?

st.petesburg
Автор

Алексей, а не достаточно ли было в gulp.task('rev_all') указать только 'clean', то есть gulp.task('rev_all', [clean]);? По идее, если указаны зависимости, то gulp их по цепочке и выполнит, прыгнет в clean, его попросят прежде выполнить rev_collector, а коллектор в свою очередь запустит rev и каждый не начнёт выполнение задачи пока не отработает зависимость?

chekitdnb
Автор

Как то сильно все сложно, лишком много плагинов и непонятно зачем в начале было показывать rev appendраз он потом не используеться

spensdee
Автор

так до конца и не понял, зачем это все нужно помимо создания ревизий файлов.объясните пожалуйста на рабоче-крестьянском зачем все эти пляски с бубном и плагином rev нужны?(помимо структурирования и отображения изменений в ревизиях проектных файлов).

СэмФишер-хд
Автор

Здравствуйте. Никак не могу понять, почему rev_collector у меня срабатывает только при повторном запуске rev_all. Т.е. css генерируется, clean отрабатывает, но в html ничего не меняется. Запускаю 2й раз - все ок. Аналогично работает при запуске gulp clean.

spbtrotter
Автор

Спасибо за видео, но мне кажется, что слишком все сжато объяснили.

vitaliivitalii
Автор

а не проще на время разработки, после вопроса дописать <?=mktime()?> ?

ЮрийКалнин-зс
Автор

Вы че сума сошли? Сколько вы там плагинов установили чтобы избежать кеширования?
Слыхали о расширениях для браузеров? Cache Killer например.
Еще бы сняли видео о плагине, который определяет массив...

petproject
Автор

вы бы хоть именовали ролики логично по назначению. если бы знал что gulp не открывал бы, 2 минуты целых потратил)

anatolii-
Автор

Откровенно сказать, идиотизм. Куча плагинов лишь для того, что бы такие простые операции делать.

ЮрийСветлов-тр
Автор

смотрю 4-тое видео и ничего не понимаю

direktorukraini