Для javascript, я использую Javascript Packer Дина Эдвардса . Он был портирован на .NET, perl, php4, php5, WSH, и есть даже плагин aptana.
Упаковка Javascript поставляется в нескольких вариантах - некоторые просто удаляют комментарии и пробелы, другие изменяют имена переменных, чтобы быть краткими, а другие, ну, я даже не знаю, что они делают, но вывод, конечно, небольшой , Сжатие высокого класса работает с использованием функции eval (), которая создает дополнительную нагрузку на клиента, поэтому, если ваши сценарии особенно сложны или вы разрабатываете для более медленного оборудования, имейте это в виду. упаковщик Javascript дает вам возможность выбрать уровень сжатия, который вы хотите использовать.
Для CSS лучшее, что вы можете сделать, это удалить пробелы и комментарии. К счастью, это означает, что вы можете достичь этого с помощью однострочной функции:
function compressCSS($css) {
return
preg_replace(
array('@\s\s+@','@(\w+:)\s*([\w\s,#]+;?)@'),
array(' ','$1$2'),
str_replace(
array("\r","\n","\t",' {','} ',';}'),
array('','','','{','}','}'),
preg_replace('@/\*[^*]*\*+([^/][^*]*\*+)*/@', '', $css)
)
)
;
}
Хотя эта функция и упаковщик Javascript уменьшат размер отдельных файлов, для достижения максимальной производительности вашего сайта вы также захотите сократить количество HTTP-запросов, которые вы делаете. Каждый файл Javascript и CSS представляет собой отдельный запрос, поэтому объединение их в один файл приведет к оптимальному результату. Вместо того, чтобы пытаться сохранить один файл JS, вы можете использовать программу / технику, которую я написал в своем блоге (бесстыдная самостоятельная вставка) на http://spadgos.com/?p=32
Программа в основном считывает файл типа «сценарий сборки», который будет одновременно объединять и сжимать несколько файлов Javascript и CSS в один (каждый) для вас (или больше, если хотите). Есть несколько вариантов вывода и отображения всех файлов. Там есть большая статья и источник в свободном доступе.