sassc-rails 资产更改未被编译

sassc-rails assets changes not being compiled

我正在尝试从 sass-rails 转换为 sassc-rails。我正在使用 rails 4.2.2.

当我使用 sassc-rails 时,对我的 scss 文件所做的更改不会反映在视图中,即使我停止并重新启动服务器(我已关闭 spring)。如果我停止服务器并执行 rm -r tmp/cache/assets,则会反映更改。

如果我返回 sass-rails 它可以正常工作,但我必须在重新启动服务器之前执行 rm -r tmp/cache/assets 才能使其正常工作。

我该如何解决这个问题?

您需要在应用的 lib/sassc/rails/ 中创建一个名为 importer.rb 的配置文件。

你需要做这样的事情。

class CSSExtension 
 def postfix 
  ".css" 
 end
 def import_for(original_path, parent_path, full_path)
  import_path = full_path.gsub(/\.css$/,"")
  SassC::Importer::Import.new(import_path)
  end
 end

已通过删除 application.css 文件中的所有文件后缀解决此问题。例如

@import 'pages.css.scss'
@import 'morris.css'

@import 'pages'
@import 'morris'

已在 sassc-rails thanks to boffbowsh and bolandrm

解决

请注意,此问题似乎还有其他原因,因此另一种方法是 turn off asset caching