Читаю руководство на этом сайте: http://blog.carbonfive.com/2014/05/05/roll-your-own-asset-pipeline-with-gulp/Рельсы REV активы с использованием Gulp
и я прочитал следующую часть:
Rev Это моя любимая часть использования Глоток. Rev предоставит вам дружественный файл app-ef62e7.js filename, который Asset Pipeline известен для. Причиной этого является то, что вы можете кэшировать его навсегда. Новые запросы просто указывают на новые файлы. CDN любят это. Чтобы получить файлы с хешем , довольно легко с изм.
var rev = require ('gulp-rev');
gulp.task ('оборотов', [ 'меньше', 'скрипты'], функция() {вернуть gulp.src ([ 'расстояние//.css', «DIST//. js ']) .pipe (rev()) .pipe (gulp.dest (' dist ')) .pipe (rev.manifest()) .pipe (gulp.dest (' dist '));}); view rawgulpfile.js, размещенный с помощью ❤ by GitHub Теперь имя файла добавлено в хеш! Обратите внимание на сборник I ; что выглядит следующим образом:
{ "app.css": "приложение-1c1d3237.css", "app.js": "приложение-26ad0c3f.js"} вид rawrev-manifest.json размещаемые с ❤ по GitHub Вот где бит пользовательского кода вступил в игру. Когда вы создаете свой index.html (или где бы вы ни ссылались на CSS/JS), вам придется поменять URL-адрес, указанный в файле дайджеста. Должен быть только вопрос разбора этого файла JSON в вашей выборке или с Gulp переписать ваш index.html для замены CSS/JS с правильным именем файла .
Это все хорошо, и звучит хорошо для меня, но если я что и Глоток впрыскивает новые имена файлов для моего основного CSS и JS файлов, то моя мерзавец система управления версиями собирается забрать это как изменение КАЖДОЕ ВРЕМЯ Я обновляю свои активы.
Как люди справляются с этим?
Я делаю это уже для активов, но это было не то, что мой вопрос был о. Мой вопрос касается макетов. – rctneil
Я в замешательстве, ваше сообщение, похоже, подразумевает, что вы переписываете свои исходные файлы активов. Все файлы, выводимые gulp, должны быть записаны в/public/assets или некоторые из них, а исходные файлы должны быть оставлены как есть. – Daniel
Эта задача, приведенная выше, позволяет обновлять сценарии и теги ссылок, связанные с app.css и app.js, в своих файлах макета представления каждый раз, когда обновляются скомпилированные активы. Тогда это повлияло бы на VCS, видя изменение при каждом обновлении какого-либо актива. – rctneil