Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用ExtJS作为前端的Rails应用程序需要压缩脚本_Ruby On Rails_Caching_Compression_Extjs - Fatal编程技术网

Ruby on rails 使用ExtJS作为前端的Rails应用程序需要压缩脚本

Ruby on rails 使用ExtJS作为前端的Rails应用程序需要压缩脚本,ruby-on-rails,caching,compression,extjs,Ruby On Rails,Caching,Compression,Extjs,我有一个rails应用程序,它使用ExtJS作为前端。我在运行应用程序方面没有问题。但由于ext-all.js体积庞大,因此加载需要更多的时间。我试图构建一个定制的ExtJS,但这并没有对ExtJS脚本的大小产生太大的影响 因为我使用了Rails2.x,所以我尝试使用Rails缓存。对于普通的java脚本文件,它在缓存方面没有问题,但是对于ExtJS脚本,它会加载,但是我得到一些DOM对象错误,例如:Ext未定义。我要找的是ExtJS脚本的压缩版本或一些gzip模式。我试着用谷歌搜索,找到了各种

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

因为我使用了Rails2.x,所以我尝试使用Rails缓存。对于普通的java脚本文件,它在缓存方面没有问题,但是对于ExtJS脚本,它会加载,但是我得到一些DOM对象错误,例如:
Ext未定义
。我要找的是ExtJS脚本的压缩版本或一些gzip模式。我试着用谷歌搜索,找到了各种压缩方法。但我还没有破解它


有人能提供一些关于如何解决压缩问题的建议吗?

这里介绍了自定义版本的各种特定于Ext的选项:


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

Ext已经在生产文件中缩小,因此进一步缩小是徒劳的,您应该只缩小自己的脚本

考虑到CacheFly的分布式特性,它可以更快地为客户提供Ext


唯一的另一个选择就是在Apache或类似的平台上使用mod_gzip进行HTTP请求级压缩。

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

它实际上是web服务器的一种配置。 对于Apache,您应该使用类似以下内容:

FileETag MTime
ExpiresActive On
ExpiresDefault "access plus 30 days"
AddOutputFilterByType DEFLATE text/html application/javascript text/javascript text/css
它将确保这些资产被压缩,除非另有规定,否则可缓存30天