Автоматическое управление версиями статическое содержание

Попробуйте повышение ptime для портативной синхронизации с высоким разрешением.

Обновление (запрошенный, 2 года на, комментарием Mark's ниже):

В эти дни я использовал бы std::chrono::high_resolution_clock; пример .

5
задан Adam Gibbins 12 October 2009 в 19:41
поделиться

3 ответа

SVN keyword substitution may be the solution. You would use it like this: first add the following code to your PHP code, somewhere near the place where you want to use the version. Like this:

$svn_version = '$Revision$'; // remember to use single quotes!

Now commit that file. And then re-open it. Observe that the above line has now changed to look something like:

$svn_version = '$Revision: 66232 $';

SVN recognized the keyword tag and replaced it with the revision number. This tag will from now on be updated with the latest version number every time you commit that file, it will also contain the version number when you do a checkout or export.

Now, you would just have to do a little string manipulation to get that number out of this string. I'm sure you can figure that out yourself.

Of course, this wont work, when you update the actual css/js files without touching PHP. And that cannot easily be solved. You could change PHP every time you change CSS/JS. Or yes inded, you could go for some build system.

Anyway, I hope you got some ideas out of this.

3
ответ дан 14 December 2019 в 13:41
поделиться

Существует отличный PHP-скрипт и набор .htaccess, который можно использовать для управления версиями файлов CSS / Javascript. Он работает, переписывая все запросы CSS / JS в файл comb.php, который затем проверяет, был ли файл изменен. Если да, создается новая кешированная версия файла. Если он не был изменен, он может просто отправить ранее кэшированную версию файла. Этот сценарий также имеет то преимущество, что сводит к минимуму количество HTTP-запросов, что является еще одним улучшением производительности.

Изображения сложнее - на базовом уровне вы можете искать / заменять имена изображений в своих файлах css и обновлять их. Это может быть включено в сценарий сборки. SASS - это система обработки CSS, которая поддерживает переменные в CSS, это означает, что вам нужно будет обновить имена изображений только в одном месте.

Наконец, я заметил, что при использовании такого инструмента, как Fiddler , если строка запроса включена в запрос, браузер может игнорировать истечения срока действия заголовки и все равно связаться с сервером, так что может быть лучше разместить в подкаталоге, т.е. вместо

/css/main.css?16

/css/16/main.css
2
ответ дан 14 December 2019 в 13:41
поделиться

An idea is to have a text file which only contains a number (i.e. the revision number). Every update, you increment this number (as a SVN version ID or just a counter, as you want).

So you've just to proceed as you proposed ; you read the number in the file, and pass it as GET argument to your CSSs or other files. One implemented, you have just to update the revision number (and maybe clean the cache if you use it) to update on every page. Quite easy :)

1
ответ дан 14 December 2019 в 13:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: