在Rails生产中禁用资产缩减

为了在我的heroku制作环境中调试javascript,我需要禁用资产压缩(或者至少压缩javascript)。 我试着config.assets.compress = false以及config.assets.debug = true ,并且仍然使用压缩资产。 然后我删除了压缩资产,此时根本没有任何资产被呈现。 我添加了config.assets.enabled = false ,这没有帮助。 我尝试将未压缩的资源复制到各种目录中,包括应用程序根目录,公共资源和公共资源(后两个使用文件夹“images”,“javascripts”和“stylesheets”),并将资源直接放入文件夹中这三个子文件夹)我最终能够通过改变html直接引用所有的javascript文件来获得javascripts的工作,但CSS和图片仍然不起作用。

我会认为我的原始config.assets.compress = false应该已经工作。 任何想法我做错了什么?


在阅读文档后,我提出了这个解决方法:

创建一个模块,它不会在这里压缩js / css: lib/modules/no_compression.rb

class NoCompression
  def compress(string)
    # do nothing
    string
  end
end

配置您的资产(不)与您的无操作压缩机一起压缩

config.assets.compress = true
config.assets.js_compressor = NoCompression.new
config.assets.css_compressor = NoCompression.new

在Rails 4中,只是注释掉该行

# config.assets.js_compressor = :uglifier

config/environments/production.rb为我工作。 看起来默认是不压缩。


我也需要调试我的js,所以我尝试了ncherro的解决方案。 问题是它仍然会抛出

耙子中止了! 未初始化的常量NoCompression

所以我只把NoCompression类放在production.rb文件中

    # Compress JavaScripts and CSS
    class NoCompression
         def compress(string)
             # do nothing
             string
         end
     end

     config.assets.compress = true
     config.assets.js_compressor = NoCompression.new
     config.assets.css_compressor = NoCompression.new
链接地址: http://www.djcxy.com/p/79009.html

上一篇: Disable Asset Minification in Rails Production

下一篇: Proper SCSS Asset Structure in Rails