Сжатие javascript

Вообще говоря, проблему оптимизации скорости подгрузки js оснастки решается в несколько простых этапов.

  1. При возможности (или необходимости) поместить весь js в один файл. Один (хоть и пухлый) грузится оптимальнее чем много мелкотни
  2. При возможности поместить загрузку js в конец страницы. Тогда содержимое отобразится максимально быстро, а броузер будет подгружать пока скрипты. Способ абсурден, когда содержимое страницы полностью (или почти) определяется js приложением.
  3. Сжать сами файлы. Самый простой способ, однако мощность клиента тогда будет занята еще и распаковкой обратно :)

Быстрая настройка apache для gzip

в папке где лежат например наши js, пишем .htaccess


ForceType text/javascript
Header set Content-Encoding: gzip


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !”.Safari.
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*).js$ $1.js.gz [L]
ForceType text/javascript


теперь если, например, из страницы вызывается script.js, а есть файл script.js.gz, то отдается именно он :)
также, не возбраняется и сразу грузить из страницы


Если апачи ругнется, то скорее всего нет mod_headers. Я решил проблему 2мя строками:

vaulter@vaulter-desktop:~$ sudo a2enmod headers 
vaulter@vaulter-desktop:~$ sudo /etc/init.d/apache2 restart