Мы недавно прошли через это же решение. В конце концов, мы остановились на использовании Gulp, который представляет собой средство запуска задач на основе Javascript, которое вы используете в разработке, и я рекомендую вам сделать то же самое. У Gulp огромное сообщество и пользовательская база, а также множество плагинов. Он может следить за изменениями в файлах по мере разработки и автоматически повторно объединять, минимизировать (и около 1000 других вещей — см. http://gulpjs.com/plugins/).
Используя подключаемый модуль Gulp под названием gulp-rev, файлы автоматически переименовываются, например, file-k34jzkl3.css, чтобы очистить кеш браузера при внесении изменений. Используя другой плагин gulp, gulp-manifest, мы автоматически генерируем файл JSON, который сопоставляет исходный файл CSS с именем, удаленным из кеша (например, «file.css»: «file-k34jzkl3.css»), а затем у нас есть простой CFC, который переводит эти имена в нужное место в нашем HTML. Вот как выглядит наш JSON-файл манифеста:
{
"baseline.css": "/global/baseline-82bcd2ab92.css",
"user.css": "/global/user-0d1d32170c.css"
}
И тогда наша разметка CFML выглядит так:
<link rel="stylesheet" href="#application.asset.getAsset("baseline.css")#">
Который генерирует вывод HTML, например:
<link rel="stylesheet" href="/global/baseline-82bcd2ab92.css">
Я создал репозиторий с кодом по адресу https://github.com/ghidinelli/assets.cfc.
person
Brian Ghidinelli
schedule
06.10.2015