我按照本教程学习了如何在Heroku中压缩资产。
http://www.cheynewallace.com/serving-compressed-assets-with-heroku-rack-zippy/
这是我的Application.rb文件
require File.expand_path('../boot', __FILE__)
require 'rails/all'
Bundler.require(*Rails.groups)
module Blog
class Application < Rails::Application
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif)
config.exceptions_app = self.routes
config.cache_store = :memory_store
Rails.application.config.middleware.swap(ActionDispatch::Static,
Rack::Zippy::AssetServer, Rails.public_path)
end
end
我的宝石文件
gem 'yui-compressor', '~> 0.12.0'
gem 'rack-zippy'
我运行了heroku run rake中间件并得到了输出
use Rack::Sendfile
use Rack::Zippy:AssetServer
现在,当我访问开发人员工具和网络标签时,我发现其大小几乎与每个资产的内容相同。这意味着资产没有被压缩。
我能找到的唯一类似问题就是这个问题
rack-zippy and option -d in production env doesn't serve static assets
答案没有用。
我应该使用另一台Compressor,因为它看起来像Rack Zippy不起作用。
答案 0 :(得分:2)
我有类似的问题。当我在config.assets.compile
上将config/environments/production.rb
设置为false时,事情就开始起作用了。
此外,必须在部署之前预编译资产。