当有数百个资产文件时,Rails资产管道工作流程

时间:2013-02-18 22:14:29

标签: ruby-on-rails ruby-on-rails-3 backbone.js ruby-on-rails-3.2 asset-pipeline

我们最近转换了一个Rails 3.2项目以使用资产管道。我们的应用程序使用许多资产文件(~250 * .js.coffee文件,另外200个左右* .jst.hamljs模板和~100 * .css.sass样式表)。正如您所期望的那样,这些产品在生产中被打包成更少数量的资产文件。

在开发和测试环境中,我们会在重新编译和请求单个资产时处理频繁的超时和页面加载。是否有更好的工作流程仍允许自动重新编译?

我们使用默认环境设置运行,但在开发中已将debug设置为false

config.assets.debug = false

在开发中重新加载页面时,这可以节省数百个请求,但初始编译仍会导致超时。必须有更好的方法,对吧?

2 个答案:

答案 0 :(得分:1)

一些选项:

  • 通过require_asset限制请求重新编译时需要重新编译的内容。请参阅此question和链接#90

  • 预编译资产:

    $ RAILS_ENV=development bundle exec rake assets:precompile
    
  • 增加超时时间。这取决于你如何设置并且可能是痛苦和有问题的,例如Heroku是not a big fanlong requests

  • 使用更快的解释器。

  • 更快的硬件/虚拟机。

答案 1 :(得分:0)

您是否在开发中预编译资产?

bundle exec rake assets:precompile

这应该使资产不会每次重新编译。