Посмотрите на проект minify . Он написан на PHP, но вы можете использовать его как проект для любого языка.
Основные характеристики:
- файл конфигурации для объединения и минимизации нескольких файлов js или css в один
- всегда использует дату последнего изменения последнего измененного файла в группе конфигурации в качестве параметра URL
пример ресурса может выглядеть как
<script type="text/javascript" src="/min/g=js1&1248185458"></script>
, которая будет извлекать группу jav1-файлов js1 в вашей конфигурации с номером версии "1248185458", который на самом деле является просто последней измененной датой, преобразованной во время эпохи.
Когда вы размещаете обновленные js-файлы на своих производственных серверах, у них будет новая дата изменения, которая автоматически становится новым номером версии - без устаревших кэшей, без ручного управления версиями .
Это очень крутой проект с некоторыми действительно хорошо продуманными идеями по оптимизации и кешированию. Я немного изменил процесс, чтобы вставить YUI компрессор в процесс сборки. Вы можете оптимизировать его еще больше, запретив последним измененным поискам из браузера , изменив заголовки вашего сервера ( здесь и здесь ).