【问题标题】:Heroku Rails application Asset ManagementHeroku Rails 应用程序资产管理
【发布时间】:2015-02-21 07:46:39
【问题描述】:

我正在使用 rails 4.2.0 + amazon clodfront + Heroku。

在我的 config/environments/production.rb 中,我将此配置设置为 true。

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true

我经常问自己是否应该将其设置为 false ? 由于我很困惑是否应该手动编译资产然后将其推送到heroku, 或将其设置为真?

请向我推荐最佳做法。

【问题讨论】:

  • 我想这里已经解释过了stackoverflow.com/questions/8821864/…
  • @siaw23 +1,但是我这里使用的是amazon cloudfront,如果我预编译资产,然后将其推送到heroku并关闭自动编译,会有什么后果吗?

标签: ruby ruby-on-rails-4 heroku asset-pipeline amazon-cloudfront


【解决方案1】:

从使用像 Amazon CloudFront 这样的 CDN 的角度来看并不多。将此设置为 false 的优点是文件被散列和缓存以加快加载时间。当您将资产迁移到 CDN 时,它会处理缓存而不是 Rails。当该值设置为 true 时,资产没有哈希值,如果您有用户请求较旧且可能与当前哈希值不匹配的资产,这将很有用。

【讨论】:

  • 当这个配置在 heroku 上设置为 true 时,heroku 并且我不预编译资产,heroku 最终编译它们,这有什么区别吗?
  • 如果 config.action_controller.asset_host 设置为您的 CDN,则 Heroku 不会参与服务资产。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-03
  • 1970-01-01
  • 2017-01-29
相关资源
最近更新 更多