15

我的应用程序中的每个页面请求都会拉下大约 30 个资产(JavaScript 和图像),它们都是 vendor/ 和 app/ 中的第三方内容。当然,所有的 JavaScript 在生产环境中都被合并和缩小,所以在那里很好,但是在开发中,它真的很慢。喜欢 8 秒加载页面,只会变得更糟。这是正常的吗?可以做些什么来加快速度?

我尝试将图像从 assets/ 移动到 public/,但它为它们提供服务的速度同样缓慢。每秒大约 3-4 个文件。

这发生在带有 WEBrick 和 Unicorn 的快速 Macbook Pro 上。

4

5 回答 5

33

关闭资产调试应该会提高一点速度。

#development.rb
config.assets.debug = false
于 2012-05-15T01:47:07.277 回答
9

最有可能的是,问题在于 Rails 会在每个资产请求上重新加载所有类。这个 gem:https ://github.com/wavii/rails-dev-tweaks通过调整 Rails 自动加载规则来解决这个问题。

于 2012-05-16T14:25:13.940 回答
1

我个人使用服务器。还减慢了我的开发环境(花费了我 +- 12 秒)。将它添加到您的 Gemfile 中:

group :development do
  gem "thin"
end

捆绑并运行:

thin start

在预编译资产之前,我将加载时间降低到 +-5(通过一些配置和代码重构)。希望能帮助到你

在此处输入图像描述

-source 瘦网站

于 2012-05-13T09:12:36.620 回答
0

当您在文件系统中编辑资产时,您可以查看guard及其相关插件,以便在后台预编译资产。

于 2012-05-15T08:22:26.207 回答
0

我相信 Rails 每次开发时都必须编译资产,而对于生产,它不需要,除了第一次这会导致它的开发缓慢。

于 2012-05-17T01:55:44.743 回答