Приложение Rails с Ext JS в качестве внешнего интерфейса и требует сжатия скриптов - PullRequest
0 голосов
/ 29 мая 2009

У меня есть приложение rails, которое использует Ext JS для внешнего интерфейса. У меня нет проблем с запуском приложения. Но так как ext-all.js громоздкий, загрузка занимает больше времени. Я пытался создать собственный Ext JS, но это не сильно повлияло на размер скрипта Ext JS.

Я пытался использовать кеш Rails, так как я использую Rails 2.x. Для обычных файлов сценариев Java у него нет проблем с кэшированием, но для сценариев Ext JS он загружается, но я получаю некоторые ошибки объекта DOM, например: Ext is not defined. Я ищу сжатую версию скриптов Ext JS или какой-то режим gzip. Я попробовал поискать в Google и нашел различные варианты, чтобы попробовать сжатие. Но я еще не взломал его.

Может ли кто-нибудь дать несколько советов о том, как решить проблему сжатия?

Ответы [ 4 ]

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

Это на самом деле конфигурация вашего веб-сервера. Вы должны использовать что-то подобное для Apache:

FileETag MTime
ExpiresActive On
ExpiresDefault "access plus 30 days"
AddOutputFilterByType DEFLATE text/html application/javascript text/javascript text/css

Он будет следить за тем, чтобы эти активы были сжаты и, если не указано иное, кэшировались в течение 30 дней.

0 голосов
/ 02 июня 2009

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

Вы можете посмотреть на CacheFly, который может предоставлять Ext вашим клиентам быстрее, учитывая его распределенную природу.

Единственным другим вариантом действительно является сжатие на уровне HTTP-запросов с использованием mod_gzip в Apache и т. П.

0 голосов
/ 06 июня 2009

Размер ExtJs не намного больше (если есть), чем у большинства современных веб-сайтов. Это что-то ниже 1 МБ вместе с вашими сценариями. И загружается только один раз. Я думаю, что при нынешних скоростях сети это практически не влияет на клиентов.

0 голосов
/ 01 июня 2009

Различные специфичные для Ext опции для пользовательских сборок объясняются здесь:

http://extjs.com/learn/Tutorial:Building_Ext_From_Source

Для сжатия есть много вариантов. YUICompressor - один из лучших прямо сейчас. Не уверен, что вы подразумеваете под "режимом gzip". Gzip - это опция, которая должна быть включена на уровне веб-сервера и не имеет ничего общего с Ext или JavaScript.

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