2013-07-19 2 views
-1

Я ищу фрагмент кода php для сжатия js и css-файлов по мере их запроса. Я пробовал компилятор закрытия и uglifyjs/uglifycss, а также несколько других. Тем не менее, я не хочу устанавливать на сервер больше программного обеспечения - базового сервера лампы должно быть достаточно. Поэтому я хочу использовать PHP для этого.Хороший PHP-lib для сжатия js, css?

Я хочу, чтобы удалить ненужные пробелы (не помещая весь код в строку 1 - с использованием символов новой строки вместо пробелов лучше imo), все комментарии и минимизировать имена функций и переменных.

И да, я отправляю все js и css (и все остальное) gzipped.

+4

Почему бы не сделать это частью вашего процесса развертывания? –

+0

Сжимайте его перед развертыванием на удаленном сервере, поэтому на вашем сервере только ваши мини-версии. Сохраняет необходимость установки незаменимых вещей в вашей производственной коробке. – richsage

+1

Чтобы скомпоновать другие ... http://refresh-sf.com/yui/ – Phas1c

ответ

1

Чтобы расширить комментарии, поэтому почти все библиотеки JS поставляются с их уменьшенными копиями (jquery, bootstrap и т. Д.).

Распространение дистрибутивов обычно доступно, поскольку они предоставляют IDE возможность использовать их контентную помощь или, возможно, потому, что они были развернуты прямо из репозитория контроля источника.

Некоторые процессы развертывания (например, Assetic) заходят так далеко, что компилируют целые каталоги активов в отдельные мини-файлы для уменьшения времени запроса страницы, я думаю, вам следует следовать этому примеру. Ваше решение сократит время загрузки за счет увеличения рабочей нагрузки вашего сервера.

+0

Я уже объединяя файлы в один css и один файл js. Кроме того, я использую сжатые версии большинства плагинов. –

0

Если вы не хотите устанавливать какое-либо дополнительное программное обеспечение на сервере, поиграйте с этим,
Эти два class файлов из Wordpress плагина.

Minify_CSS_Compressor (CSS Compressor)
JSMinPlus version 1.1 (JS компрессор)

<?php 
    // to minify css use 
    $css = Minify_CSS_Compressor::process($css); 

    // to minify css js (either source code or filename) 
    $js = JSMinPlus::minify($js, $filename); 
?> 
Смежные вопросы