找不到Ruby-SassCompiler的指南针

我有一个小的ruby脚本使用Compass来编译* .scss文件,因为Compass和Sass是基于ruby的我只是直接使用编译器(基于这个SO问题 ):

require 'compass' require 'sass' Compass.add_configuration({ :project_path => '.', :sass_path => 'css', :css_path => 'css', :output_style => :compressed },'custom') Compass.compiler.compile('css/index.scss', 'css/index.css') 

这按预期工作并进行编译,但是,我也得到了这样的信息:

 Compass.compiler is deprecated. Use Compass.sass_compiler instead. 

所以我试着用:

 Compass.sass_compiler.compile('css/index.scss', 'test.css') 

什么引发错误,告诉我没有定义类SassCompiler (NoMethodError)。

我真的想使用建议的方法,但我可以使用它,我需要提前做什么?

感谢帮助!

在挖掘了一下源之后,我终于找到了它!

 require 'compass/sass_compiler' 

是缺失的线!

运行编译的最后一行如下所示:

 Compass.sass_compiler.compile! 

而已。

顺便说一句: Compass.sass_compiler方法接受一些移交给编译器的选项( 源 ),但是如上所述使用Compass.add_configuration执行相同的Job。

我希望有人可以使用这些信息,快乐编译!

编辑

由于这里的评论是完整的代码,适用于我的项目。 它包含在构建脚本中,以下几行来自初始化:

 require 'compass' require 'compass/sass_compiler' Compass.add_configuration({ :project_path => _(), :output_style => :expanded, :cache_path => '', :http_fonts_path => '../fonts', :fonts_dir => '', :sass_path => '', :css_path => '', :http_images_path => '../img', :images_path => '' },'custom-name') 

这些行在每个编译中运行:

 compiler = Compass.sass_compiler({ :only_sass_files => [ '' ]}) compiler.compile! 

要了解所有可能的选项,我建议您查看源代码和sass和指南针的官方文档。