2011-02-02 3 views
0

У меня есть пользовательский загрузчик для моих функций css и javascript.php css/js minifier?

как таковой.

Когда я готов, у меня есть список css и еще один файл javascript.

Я ищу способ, которым я могу затем вызвать функцию, и выведет путь к сжатому и комбинированному css и js-файлу.

so.

что-то вроде

load::css('master'); 
load::css('links'); 
load::css('buttons'); 
load::css(); 

(вызов нагрузки: CSS() без каких-либо Params должны сгенерировать ссылку уменьшенная CSS)

Какие классы вы предлагаете для этого?

ответ

0

Это не работает так, как вы хотите, но мне было очень полезно использовать minify (http://code.google.com/p/minify/), а затем иметь отдельный класс (I используйте помощник вида HeadStyle для Zend Framework) собирайте все необходимые мне css-файлы, а затем создайте одну ссылку css/JS, которую я включил.

+0

Да, я смотрел на это, однако моя проблема возникает, поскольку почти каждая страница на моем сайте использует другую комбинацию файлов css и javascript, следовательно, обычно составляет в среднем 7 файлов. Я надеюсь, что сможет просто вызвать класс minify, и он будет генерировать мне имя файла css/js на основе файлов. он использовал бы какой-то алогрифм, чтобы гарантировать, что имя файла основано на содержимом файла, и, если файл js/css существует, return is, else, создайте его, а затем верните его. – Hailwood

+0

У меня было что-то похожее. Способ минимизации работы заключается в том, что вы можете включить в него URL-адрес, например, http://yoursite.com/minify/?foo.css,bar.css,foobar.css, и он будет генерировать миниатюрный файл CSS. У меня было около 15 файлов, и это получилось довольно медленным, но это может сделать трюк. –

0

Я написал сценарий оболочки «build» для javascript и css, который я javascript с сервера, а затем сжимаю его с помощью YUICompressor.

Это не будет сжатием во время выполнения, как вы ищите, это будет скорее одноразовый процесс сборки, который вы делаете при публикации своего сайта. Однако мой javascript в основном статичен, поэтому я могу избежать этого.

#!/bin/bash 
cd /webroot/js 
wget -nc -O filename.premin.js http://localhost/js/filename.src.js 
java -jar yuicompressor.jar --line-break=200 -o filename.min.js filename.src.js 
rm filename.premin.js 
0

Похоже, проблема, которую вы пытаетесь решить, заключается в том, что у вас слишком много файлов JS/CSS.

Ищете способ объединить их вместе, вы только усугубляете свою проблему, изобретая новые файлы, которые должны быть доставлены вашим клиентам.

Вместо этого, узнать о кэширования HTTP, и использовать его: http://www.mnot.net/cache_docs/

0

С помощью CSS и JS - вы можете просто объединить их - затем сжать их с библиотекой PHP Минимизировать как PHPWee.

PHPWee: http://searchturbine.com/php/phpwee

Я упоминаю PHPWee, потому что это простой в использовании - и охватывает HTML HTML5, CSS и Javascript минификация.

Смежные вопросы