2009-04-15 1 views
2

Я почти закончил с моим сайтом и оптимизирую его на данный момент; Я хотел бы узнать лучший и быстрый способ включить все мои внешние файлы javascript. Я хочу, чтобы сайт загружался как можно быстрее, но у него есть довольно много (10 или около того) внешних файлов javascript, которые необходимо загрузить; некоторые из них - файлы библиотеки jQuery из API AJAX от Google, а некоторые - мои.Какой лучший/самый быстрый способ включить мои внешние javascripts? Я использую jQuery

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

Вы видите, что я имею в виду?

Большое спасибо

ответ

8
  1. Объедините все свои Javascript в один внешний файл (вы можете сделать это динамически и сохранить результат в кеше);
  2. Минимизировать этот файл;
  3. Версия этого файла (для этого я использую mtime предварительно сконфигурированного файла);
  4. Gzip файл, если клиент поддерживает это; и
  5. Используйте длинный фьючерс. Истекает заголовок в файле.

Что вы имеете в виду (используя службу AJAX Libraries от Google) - это еще один способ справиться с этим, что подпадает под заголовок CDN (Network Delivery Delivery Network). Идея состоит в том, что файл хранится в нескольких plallllces, и клиент будет загружать ближайший (и этот результат будет сохранен).

Это сложно или просто неудобно сочетаться с другими методами, и я обнаружил, что выполнение нескольких внешних нагрузок таким образом полностью разрушает любое воспринимаемое преимущество (если только это не единственная внешняя нагрузка), поэтому вместо этого я использую метод, указанный выше.

+3

Одна вещь, которую я хотел бы добавить, что для включают себя, в то время как он не будет делать нагрузку JS быстрее, это сделает страницу визуализируются быстрее, если вы можете загрузить это в нижней части страницы. – cgp

0

Чтобы использовать скрипты браузер должен загрузить их в любом случае, так что я не думаю, что есть какая-то разница, как вы их называете ... если вы не используете сжатие на сервере и распаковку на стороне клиента.

1

Я бы предложил объединить все сценарии вместе в один JS-файл, а затем использовать YUI Compressor, чтобы упаковать их в меньший файл.

4

Мое предположение заключается в объединении файлов библиотеки только с одним файлом (за исключением тех, что размещены в Google). Каждый звонок на ваш сервер занимает довольно много ресурсов, поэтому вам лучше с одним вызовом. Вы даже можете объединить файлы в Интернете:

http://yui.2clics.net/

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