Допустим, моя структура страницы:
1. one.html :
includes -> a.js, b.js, c.js,d.js
2. two.html :
includes -> a.js, b.js, x.js, y.js, z.js
3. three.html :
includes -> a.js, b.js, s.js, x.js, y.js
и так далее. Некоторые страницы посещаются чаще, чем другие, скажем, 3 страницы составляют 99% всех просмотров страниц веб-сайта.
Я ищу решение для:
i )Объединение и минимизация файлов в группы, которые могут быть включены в страницы.
ii )Имеет некоторую логику для сопоставления имен файлов группы с окончательным комбинированным именем файла.
iii )Включает минификатор, такой как компилятор Google Closure / компрессор YUI.
Одним из решений, которое я рассматривал, является: минимизация PHP
, которая делает большую часть этого. Однако у него есть следующие недостатки для меня:
i )Я буду размещать свои статические комбинированные файлы на сервере CDN, а не на том же веб-сервере, на котором размещается PHP minify, поэтому логика PHP minify для серверных файлов по имени группы не работает для меня.
ii )PHP Minify использует PHP CGI для обработки и обслуживания сценариев, в то время как я хотел бы, чтобы мой минимизированный контент обслуживался непосредственно с сервера CDN.
Есть ли в PHP Minify некоторые функции для сопоставления имени группы с комбинированным именем файла, которые я могу использовать на своей веб-странице, чтобы напрямую задать путь CDN для комбинированного файла JS. например
array('a.js','b.js','c.js','d.js');
?>
Вместо вызова PHP-скрипта PHP Minify для получения файлов группы, которая на самом деле вызов страницы PHP, который затем обслуживает содержимое javascript из ранее сгенерированные файлы:
(Я согласен, что в большинстве случаев это можно сделать, комбинируя различные решения с пользовательскими сценариями развертывания и инструментами минимизации, например, ANT, FABRIC + YUICompressor/ClosureCompiler,но я ищу хорошо разработанное настраиваемое решение, которое я мог пропустить)