如何压缩从我在apache / passenger上运行的rails应用程序提供的javascript文件?

时间:2011-05-09 01:51:36

标签: ruby-on-rails apache ruby-on-rails-3 passenger

我正在使用Apache 2.2,Passenger 3.0.2,Rails 3。

我设法通过修改deflate.conf文件来压缩css文件。但是,当我运行firefox addon yslow时,它仍然说javascript文件是未压缩的。

<IfModule mod_deflate.c>
          AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript text/javascript application/x-javascript
</IfModule>

上面,我使用了所有三种变体:“application / javascript text / javascript application / x-javascript”但没有运气。

以下是来自yslow的消息:

  

Compress组件上的D级   gzip的

     

有3个纯文本组件   应该发送压缩

* http://myhost.dyndns.org:8080/javascripts/jquery-1.4.2.min.js?...
* http://myhost.dyndns.org:8080/javascripts/jquery.validate.min.js?...
* http://myhost.dyndns.org:8080/javascripts/rails.js?...

2 个答案:

答案 0 :(得分:3)

Jammit是Rails的工业级资产打包库,提供您期望的CSS和JavaScript连接和压缩,以及YUI Compressor和Closure Compiler兼容性,提前gzipping,内置JavaScript模板支持,以及可选的Data-URI / MHTML图像和字体嵌入。

http://documentcloud.github.com/jammit/

答案 1 :(得分:2)

假设您使用的是capistrano,请添加一个部署任务,在生产服务器上就地压缩我们的javascript文件。

检查一下: http://blog.jcoglan.com/2007/05/26/make-capistrano-compress-your-javascript-and-css-automatically/