Серверная сторона автоуменьшает?

Там какой-либо путь состоит в том, чтобы автоматически уменьшить статическое содержание и затем служить ему от кэша автоматически? Подобный, чтобы иметь работу mod_compress/mod_deflate? Предпочтительно что-то, что я мог использовать в сочетании со сжатием (так как сжатие обладает более значимым преимуществом).

Мое предпочтение - что-то, что работает с lighttpd, но я не смог найти что-либо, таким образом, любой веб-сервер, который может сделать это, был бы интересен.

10
задан Reinstate Monica 26 May 2010 в 00:13
поделиться

3 ответа

Вы можете попробовать полосу стороннего производителя nginx модуль:

http://wiki.nginx.org/NginxHttpStripModule

Любой используемый вами модуль просто удалит пробелы. Вы получите лучший результат, используя минификатор, который понимает все, что вы минимизируете. например Компилятор JavaScript Closure от Google.

Достаточно умен, чтобы знать, что такое переменная, и сократить ее имя. Средство для удаления пробелов не может этого сделать.

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

Или вы можете изучить memcached для кеширования в памяти или Redis для того же самого, но с резервным копированием диска.

5
ответ дан 4 December 2019 в 00:23
поделиться

Я использую Microsoft Ajax Minifier , который поставляется с библиотекой C # для минимизации файлов js. Я использую это на сервере и обслуживаю максимум два минифицированных файла .js на странице (один «статический», одинаковый для всего сайта, и один «динамический», специфичный только для этой страницы).

Компрессор Yahoo YUI также представляет собой простой файл Java .jar, который вы также можете использовать.

Я думаю, что важно не делать это по отдельности. Вам действительно нужно объединить файлы .js, чтобы получить максимальную пользу. По этой причине «автоматическое» решение на самом деле не сработает - потому что оно обязательно будет работать только для каждого файла.

2
ответ дан 4 December 2019 в 00:23
поделиться

Я решил сделать это через PHP (в основном потому, что мне не хотелось писать модуль lighttpd).

Мой скрипт принимает строку запроса с указанием типа запрашиваемых файлов (js или css), а затем имена этих файлов. Например, на моем сайте CSS добавляется следующим образом:

Это минифицирует и конкатенирует style.css и blue.css

Он использует JSMin-PHP и cssmin.

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

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

3
ответ дан 4 December 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: