在Ruby中调用Sass的compile_file

时间:2011-08-20 19:34:21

标签: ruby module sass

我想在我的Ruby文件中从Sass调用compile_file。当我做的时候

compile_file("file.scss", options)

我收到错误:undefined method 'compile_file.'我错过了require或者说错了吗?安装了Sass,当我在终端启动时,我可以正常观看它。我希望能够在我不看的时候自己打电话给compile_file。有人可以通过传入文件名和对象来为我提供关于如何在Ruby中使用Sass compile_file的示例代码吗?

3 个答案:

答案 0 :(得分:0)

我不了解Sass,但一般来说,您需要使用方法Sass::compile_file的完全限定名称或要求将模块放入全局空间:require 'sass'

答案 1 :(得分:0)

尝试类似

的内容
require 'rubygems'
require 'sass'
puts 'methods available: ' + (Sass.methods.sort - Object.methods).inspect
Sass.compile_file

答案 2 :(得分:0)

在使用require 'sass'之前安装Sass:

sudo gem install sass

现在创建一个文件test.rb

#!/usr/bin/ruby
require 'sass'
puts Sass::compile_file('./colors.scss')

(做chmod +x test.rb

现在使用colors.scss

$color: blue !default;
p {
color: $color;
}

运行./test.rb将输出:

p {
  color: blue; }

根据the docs,您应该使用Sass::Engine

  

在Ruby代码中使用Sass非常简单。安装Sass宝石后,   您可以通过运行require“sass”并使用Sass :: Engine来使用它。

#!/usr/bin/ruby
require 'sass'
sass_engine = Sass::Engine.for_file('./colors.scss', :syntax => :scss)
output = sass_engine.render
puts output