【问题标题】:In rails, how to g-zip a combined javascript file which generated by the 'javascript_include_tag'?在 Rails 中,如何压缩由“javascript_include_tag”生成的组合 javascript 文件?
【发布时间】:2010-08-27 00:36:40
【问题描述】:

我在想带有 :cache 选项的 javascript_include_tag 会自动压缩组合的 javascript 文件:


<%= javascript_include_tag 'j1.js', 'j2.js', 'j3.js', :cache => 'js_all' %>

但它只是生成一个文件,将所有这些 JavaScript 文件简单地组合成纯文本模式;
那么如何自动对合并后的文件进行g-zip压缩呢?
'javascript_include_tag' 中是否有内置选项?

或者,
您如何解决 g-zip 问题?
手工?
编写执行系统“gzip”命令的 ruby​​ 代码?
...
会怎么做?


我使用nginx作为服务器;

【问题讨论】:

    标签: javascript ruby-on-rails ruby tags gzip


    【解决方案1】:

    我同意 Toby 的观点,通常将您的网络服务器配置为对适用的文件执行 gzip 压缩。

    对于 Apache,请查看 mod_deflate

    这是一个典型的 Apache 配置摘录

    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml application/rss+xml application/json text/css text/javascript application/javascript application/x-javascript
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    

    【讨论】:

      【解决方案2】:

      一般情况下,您会让服务器为您处理 gzip。例如,Apache 可以配置为自动处理此问题。

      【讨论】:

        【解决方案3】:

        Jammit 是我选择的包管理器。除了提到的 apache 配置,它还会创建 gzip 文件供您使用(如果支持)。不过,通常情况下,您可以让 apache 像上面提到的那样即时执行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-26
          • 2011-05-02
          • 2014-05-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多