提问人:Jonathan Allard 提问时间:3/5/2014 最后编辑:CommunityJonathan Allard 更新时间:6/20/2021 访问量:1322
分析开发中的慢速资产
Profiling slow assets in development
问:
每次我在开发中对 SASS 进行更改时,我在加载 .application.css
我读过一些其他问题,并尝试过:
- 设置。
config.assets.debug = false
- 更改导入和需求(我使用 SASS 变量)
- 使用 Miniprof 及其火图
- 使用 rails-asset_profile
这是我读到的:
我从 Rails 3.2 和现在的 4.2 中一直遇到这个问题。
我在这里快疯了。我如何找到这个烂摊子中的瓶颈?
我正在寻找一种解决方案,使我能够精确地确定时间花费在哪里,并提出减少编译时间的方法。
答:
0赞
Antiarchitect
11/23/2015
#1
有一个名为 quiet_assets 的 Gem 禁止记录资产负载。在 Rails 3.x 时代,它大大加快了我的开发模式。如果这有帮助,请告诉我。
0赞
hedgesky
11/28/2015
#2
在 Sprockets::Manifest 类的 find 方法中查看源代码。您可以将其更改为以下内容:sprockets
paths.each do |path|
start = Time.now
puts "Start #{path}"
environment.find_all_linked_assets(path) do |asset|
yield asset
end
puts "Finished: #{Time.now - start}"
end
因此,它将打印编译每个资产所需的所有时间。希望它能对:)有所帮助
编辑:这块代码来自分支。您可以使用以下命令查看和编辑master
sprockets
bundle open sprockets
更改后的输出:
$ rake assets:precompile
Start admin.css
I, Ä2015-11-28T10:45:26.986231 #45492Ü INFO -- : Writing /Users/sky/projects/photo_school/public/assets/admin-0e445dcfdc3bd3029943b7d3621b4156c9838eed229c3628f8c558cbb3ce1a59.css
Finished: 10.165564
编辑:稍微更改了代码并更改了链接(昨天将链接放到错误的分叉:很匆忙,仅在赏金关闭前 15 分钟内才发现您的问题:))。我在我的项目中检查了这段代码,它工作正常(该项目使用链轮 3.3.3 版)。
评论
0赞
hedgesky
11/28/2015
哦,错过了,对不起。试试这个块:github.com/rails/sprockets/blob/master/lib/sprockets/......
评论
.css.erb
@import
require
@import
variables.css.sass
@import