我正在开发 Rails 3.2.6 + Backbone 应用程序,从 app/assets/javascripts 提供的 Javascript 文件数量大约为 91 个独立文件(有许多 subview )。在开发环境中,这些 Assets 当然没有捆绑在一起,因此每个 Assets 都由 Rails 单独提供(使用 WEBrick 或 Thin),并带有预期的 304 Not Modified,因为它们已缓存。
问题是:对于在开发迭代期间重新加载整个页面来说,这已经开始变得非常繁重。从刷新到 DOM 准备就绪大约需要 13 秒,这对于快速开发来说非常不利,尤其是在更改大量 JS 和 CSS 时。而且我很确定这是唯一真正的瓶颈,因为我可以在终端中看到 Rails 日志,看到每个 Assets 都经过,就像这样:
Started GET "/assets/views/simple_dialog.js?body=1" for 127.0.0.1 at 2012-11-12 15:39:25 -0800 Served asset /views/simple_dialog.js - 304 Not Modified (0ms)
有没有办法加快这个过程?我知道总会有取舍,但即使我能将它缩短到 6-7 秒,这也是一个巨大的进步。我知道 Sprockets 据说在 Rails 4 中获得了许多速度提升,但我正在寻找短期内的东西。
最佳答案
也许可以尝试以下方法:
- 在 config/environments/development.rb 中,设置
config.assets.debug = false
(参见:http://guides.rubyonrails.org/asset_pipeline.html#turning-debugging-off)。这将导致您的文件被合并到一个 application.js 文件中,这将通过不需要如此大量的单独 HTTP 请求来减少加载时间。 - 尝试使用 rails-dev-tweaks gem 。它可以帮助加快对 Assets 文件的请求。
希望这对您有所帮助!
关于javascript - 在 Dev 环境中加快 Rails 在整页加载时加载 Backbone Javascript Assets 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13354002/