0

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

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

谁能提供一些关于如何解决压缩问题的指示?

4

4 回答 4

0

It's actually a configuration of your web server. You should use something like this for Apache:

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

It'll make sure that these assets are compressed and unless specified otherwise - cacheable for 30 days.

于 2010-11-07T20:24:03.267 回答
0

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

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

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

于 2009-06-01T03:01:42.373 回答
0

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

于 2009-06-06T08:22:42.903 回答
0

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

您可以查看 CacheFly,它可以更快地为您的客户提供 Ext,因为它是分布式的。

唯一的其他选择确实是在 Apache 等中使用 mod_gzip 进行 HTTP 请求级压缩。

于 2009-06-02T09:32:36.857 回答