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