在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