Intereting Posts
Как сортировать по двум значениям, а затем поле ASC в массиве с использованием usort () в PHP? Горячая клавиша в PhpStorm для перехода к тегу HTML end Как найти первый день следующего месяца и оставшиеся дни до этой даты с помощью PHP URL-адрес анализа с помощью Regex с использованием PHP Неожиданный скобок ' Как я могу получить одну фотографию для каждого тега Flickr определенным пользователем по одному запросу? Использование параметров для mysql_query Быстрее, лучше и более эффективный тип намека на PHP Storm с локаторами сервисов Как получить доступ к атрибуту объекта PHP, имеющему знак доллара? Сравните массив друзей Facebook с таблицей MySQL Ошибка в разбивке на страницы с кодом 1 Как сделать компиляцию активов Symfony 2 продуктом разных имен файлов? Создание заголовка / нижнего колонтитула PHP Почему это совместное использование файлов cookie и сеансов работает? Смущенный Плагин Smarty для Eclipse Europa

Как объединить запросы для нескольких файлов javascript в один HTTP-запрос?

Эта концепция для меня новая – я впервые встретил ее в конфигураторе зависимостей YUI . В принципе, вместо того, чтобы иметь несколько запросов для многих файлов, файлы привязаны в один HTTP-запрос, чтобы сократить время загрузки страницы.

Кто-нибудь знает, как реализовать это в стек LAMP? (Я видел, что аналогичный вопрос уже задан, но, похоже, он специфичен для ASP .

Благодаря!

Обновление: оба ответа полезны … (мой представитель недостаточно высок, чтобы комментировать, поэтому я добавляю некоторые мысли о разлуке здесь). Я также столкнулся с другим сообщением в блоге с примерами на PHP, которые могут быть полезны. Тем не менее, ответ на построение Дэвида заставляет меня рассмотреть другой подход. Спасибо, Дэвид!

Существуют различные способы: два наиболее очевидных:

  1. Создайте такой инструмент, как YUI, который создает индивидуальную, уникальную версию на основе компонентов, которые вы пометили по мере необходимости, чтобы вы все равно могли служить файлу статическим. MooTools и jQuery UI предоставляют разработчикам таких пакетов, когда вы загружаете их пакет, чтобы предоставить вам максимально упрощенную и эффективную библиотеку. Я уверен, что существует общий универсальный инструмент.
  2. Создайте простой скрипт Perl / PHP / Python / Ruby, который будет содержать кучу файлов JavaScript на основе запроса. Итак, «onerequest.js? Load = ui & load = effects» переходит к скрипту 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 .

Вы хотите Minify . Я просто написал пошаговое руководство для его настройки.

Capistrano – довольно популярный инструмент для развертывания на основе Ruby. Если вы рассматриваете это или уже используете его, есть большой камень, который будет определять зависимости CSS и Javascript, объединять и минимизировать файлы.

gem install juicer

На странице Juicer GitHub можно определить, какие файлы зависят друг от друга и объединить их вместе, уменьшив количество HTTP-запросов на просмотр страницы, тем самым повышая производительность.