我有一个使用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模式。我尝试使用谷歌搜索,并找到了尝试压缩的各种选项。但我还没有破解它。
有人可以就如何解决压缩问题提供一些指示吗?
答案 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天。