4

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

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

我们使用默认环境设置运行,除了在开发中debug设置false

config.assets.debug = false

这为我们在开发中重新加载页面时节省了数百个请求,但初始编译仍然会导致超时。应该有更好的方法吧?

4

2 回答 2

1

一些选项:

  • 限制通过使用require_asset. 请参阅此问题和 Sprockets #90

  • 预编译资产:

    $ RAILS_ENV=development bundle exec rake assets:precompile
    
  • 增加超时。这取决于您如何进行设置,并且可能会很痛苦和有问题,例如 Heroku不喜欢请求

  • 使用更快的解释器。

  • 更快的硬件/虚拟机。

于 2013-02-18T22:38:33.640 回答
0

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

bundle exec rake assets:precompile

这应该可以防止资产每次都重新编译。

于 2013-02-18T22:22:49.780 回答