Эта концепция для меня нова - я впервые наткнулся на нее на Конфигуратор зависимостей YUI. По сути, вместо того, чтобы иметь несколько запросов для множества файлов, файлы объединяются в один HTTP-запрос, чтобы сократить время загрузки страницы.
Кто-нибудь знает, как реализовать это в стеке LAMP? (Я видел, что уже задавали подобный вопрос, но это похоже на ASP.
Спасибо!
Обновление: оба ответа полезны ... (моя репутация еще недостаточно высока, чтобы комментировать, поэтому я добавляю здесь несколько напутственных мыслей). У меня также есть через другое сообщение в блоге с примерами, специфичными для PHP, которые могут быть полезны. Однако ответ Дэвида на сборку заставляет меня задуматься о другом подходе. Спасибо, Дэвид!






Есть несколько способов, из которых наиболее очевидны два:
Я предпочитаю не обслуживать статические файлы с помощью какого-либо сценария, но мне также нравится разрабатывать свой код с 10 или около того отдельными небольшими файлами классов без затрат на 10 HTTP-запросов. Поэтому я придумал собственный процесс сборки, который объединяет все наиболее распространенные классы и функции, а затем минимизирует их в один файл, например project.min.js, и имеет условие во всех моих представлениях / шаблонах, которое включает этот файл в производство.
Изменить - «Процесс нестандартной сборки» на самом деле является чрезвычайно простым скриптом на Perl. Он читает в каждом из файлов, которые я передал в качестве аргументов, и записывает их в новый файл, при необходимости автоматически передавая все это через JSMIN (доступный на всех ваших любимых языках).
По команде вроде это выглядит так:
perl build-project-master.pl core.js class1.js etc.js /path/to/live/js/file.js
На @ http://www.hunlock.com/blogs/Supercharged_Javascript есть хорошая запись в блоге.
Вам нужен Уменьшить. Я просто написал прохождение для его настройки.
Capistrano - довольно популярный инструмент веб-развертывания на основе Ruby. Если вы рассматриваете это или уже используете его, есть отличный драгоценный камень, который определит зависимости CSS и Javascript, объединит и уменьшит файлы.
gem install juicer
С помощью Страница соковыжималки на GitHub он может определить, какие файлы зависят друг от друга, и объединить их вместе, уменьшая количество HTTP-запросов на просмотр страницы, тем самым повышая производительность.