В настоящее время я использую PHP для включения нескольких файлов CSS (или JS) в один файл (а также для сжатия содержимого с помощью GZIP).
например. HTML-страница вызывает такие ресурсы ...
Пример моего файла Concat.php можно найти здесь: http://dl.dropbox.com/u/3687270/Concat.php (не стесняйтесь комментировать любые проблемы с кодом)
Но вместо того, чтобы открывать командную строку и запускать YUI Compressor вручную на моих файлах CSS / JS, я хочу, чтобы файл Concat.php обрабатывал это, по крайней мере, с точки зрения CSS (я говорю CSS только потому, что я ценю что YUI Compressor выполняет минимизацию переменных и другую оптимизацию, поэтому его невозможно воспроизвести в PHP - но это часть 2 моего вопроса).
Я знаю, что это можно сделать с помощью некоторой магии Регекс, и у меня нет проблем с этим.
Итак, мой вопрос состоит из 2 частей:
1.) Каковы последствия для производительности, связанные с минимизацией сервера с использованием preg_replace для файла CSS (или набора файлов CSS, которые могут содержать несколько сотен строк кода на файл - обычно это будет намного меньше, но я Я думаю, что если сервер сжимает файл, мне не придется слишком беспокоиться о лишних пробелах в моем CSS)
2.) И как я могу получить файлы JavaScript, которые объединены через мой файл Concat.php, запущенный через YUI Compressor? Может быть, запустить через сервер (у меня есть прямой доступ к серверу, чтобы я мог установить YUI Compressor там, если это необходимо), но будет ли это хорошей идеей? Конечно, оптимизация на сервере каждый раз, когда запрашивается страница, будет медленной и плохой для сервера + увеличение пропускной способности и т. Д.
Причина, по которой это возникло, заключается в том, что мне постоянно приходится возвращаться и вносить изменения в существующие «сжатые / минимизированные» файлы JS / CSS, что является настоящей болью, потому что мне нужно взять исходные исходные файлы, внести изменения затем повторно минимизировать и загрузить. В действительности я предпочел бы просто отредактировать свои файлы и позволить серверу обработать минификацию.
Надеюсь, что кто-то может помочь с этим.