使用Ext JS作为前端的Rails应用程序,需要压缩脚本

时间:2009-05-29 14:57:42

标签: ruby-on-rails caching compression extjs

我有一个使用Ext JS作为前端的rails应用程序。我在运行应用程序时没有问题。但由于ext-all.js体积庞大,因此加载需要更多时间。我尝试构建一个自定义的Ext JS,但这并没有对Ext JS脚本的大小产生太大影响。

我尝试使用Rails缓存,因为我使用Rails 2.x.对于普通的java脚本文件,它在缓存方面没有问题,但是对于Ext JS脚本,它会加载,但是我得到一些DOM对象错误,例如:Ext is not defined。我正在寻找的是Ext JS脚本的压缩版本或一些gzip模式。我尝试使用谷歌搜索,并找到了尝试压缩的各种选项。但我还没有破解它。

有人可以就如何解决压缩问题提供一些指示吗?

4 个答案:

答案 0 :(得分:0)

此处解释了各种针对自定义构建的Ext特定选项:

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

对于压缩,有很多选择。 YUIC压缩机是目前最好的之一。不确定你的意思是“gzip模式”。 Gzip是一个应该在Web服务器级别启用的选项,与Ext或JavaScript无关。

答案 1 :(得分:0)

Ext已经在生产文件中缩小了,所以进一步缩小是徒劳的,你应该只缩小你自己的脚本。

您可以查看CacheFly,它可以为您的客户提供更快的Ext,因为它具有分布式特性。

唯一的另一个选择是使用Apache等中的mod_gzip进行HTTP请求级压缩。

答案 2 :(得分:0)

ExtJs的大小并不比大多数现代网站大得多(如果有的话)。它与你的脚本一起低于1MB。它只加载一次。我认为,凭借目前的网络速度,它对客户几乎没有任何影响。

答案 3 :(得分:0)

它实际上是您的Web服务器的配置。 你应该为Apache使用这样的东西:

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

它将确保压缩这些资产,除非另有说明 - 可缓存30天。