【问题标题】:Rails Asset Pipeline/Compass/SASS extremely slow to compile in development modeRails Asset Pipeline/Compass/SASS 在开发模式下编译速度极慢
【发布时间】:2023-03-13 05:38:01
【问题描述】:

使用 Rails 3.2,我的应用程序中加载了大约 40 个 SASS 文件。其中很大一部分是引导程序。

任何页面的每次重新加载都需要 10 多秒。如果我删除 <%= stylesheet_link_tag "application", :media => "all" %> 页面几乎会立即加载。

调试导致运行缓慢的样式表的最佳方法是什么?还是仅仅是因为我有 40 多个部分 .css.scss 文件,这些文件都是在页面刷新时编译的?

我在几乎每个.scss 文件的顶部都有一个@import "mixins",它加载了一些基本颜色变量。不确定这是否也会减慢速度,我也不知道如何以任何其他方式使这些基色在所有 .scss 文件中可用...

我想在使用实时重载 gem 之前解决这个缓慢问题,就像这里提到的:http://blog.55minutes.com/2013/01/lightning-fast-sass-reloading-in-rails-32/

【问题讨论】:

    标签: ruby-on-rails sass asset-pipeline


    【解决方案1】:

    这颗宝石会有所帮助:

    gem 'rails-dev-tweaks', '~> 0.6.1'
    

    SOURCE

    【讨论】:

    • 我试过这个 gem,没有成功。加载时间没有明显差异。
    【解决方案2】:

    原来有一个问题,正如 fredwu 在 rails github 上指出的那样:

    我认为这是 Sprockets 的解析器的问题: https://github.com/sstephenson/sprockets/blob/v2.2.2/lib/sprockets/trail.rb#L70-L83

    Rails .12 手动解析资产路径,而 .13 尝试使用 Sprockets 解析器,然后引发异常。

    临时问题是在您的 gemfile 中使用以下行:

    gem 'rails', git: "git://github.com/rails/rails.git", branch: "3-2-stable"

    https://github.com/rails/rails/issues/9803

    【讨论】:

      猜你喜欢
      • 2012-02-07
      • 2017-04-26
      • 2012-11-12
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2012-07-08
      相关资源
      最近更新 更多