Базовое кэширование js-ресурсов в Ruby on Rails - PullRequest
0 голосов
/ 25 ноября 2010

Я нахожусь в точке, где у меня есть куча файлов javascript, и я не уверен, как подходить к кэшированию их всех в одном файле.Я сталкивался с использованием:

javascript_include_tag ... :cache => true

, но у меня есть несколько файлов javascript, относящихся к конкретной странице ... имеет ли смысл включать их все в мой макет, даже если некоторые страницыне нужно много JavaScript там?Некоторые из моих страниц вообще не требуют javascript, собирается ли браузер загружать этот сцепленный js для каждой страницы?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2010

n include tags = n получить запрос на сервере.Это не работает хорошо, и веб-страница становится медленнее.

Я бы не отказался от минимизации всего в один файл.В любом случае его можно загрузить один раз, а затем он кэшируется в браузере.

Каждая ситуация отличается, поэтому проанализируйте свою с помощью Yslow и посмотрите, поможет ли минимизация в один файл или нет.Также посмотрите на https://github.com/thumblemonks/smurf для минимизации ваших js & css в 2 файла.

0 голосов
/ 25 ноября 2010

Некоторые люди сбрасывают весь свой JavaScript в один файл, но я не думаю, что это имеет смысл, если подпрограммы не используются на каждой странице.

Подумайте о том, как используются ваши сценарии. Поместите те, которые используются чаще всего на большинстве страниц в одном файле. Затем, если время от времени используются сценарии, поместите их в отдельные файлы. Затем используйте несколько <script> операторов в своем HTML-файле, чтобы получить те, которые вам нужны.

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

Флаг :cache => true может помочь, если у вас есть сценарии bajillion, потому что они могут быть сжаты во время первой загрузки файла, но я не думаю, что это ускоряет загрузку впоследствии, когда браузер извлекает их из своего кэша.

Кэширование нескольких javascript-кодов в один говорит об этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...