在Ruby中调用Sass的编译文件
我想在我的Ruby文件中从Sass调用compile_file
。当我做在Ruby中调用Sass的编译文件
compile_file("file.scss", options)
我收到的错误:undefined method 'compile_file.'
我缺少一个require
或调用它错了吗? Sass已安装,当我在终端中启动时,我可以正确监视它。当我不在看时,我希望能够自己拨打compile_file
。有人可以给我示例代码,了解如何在Ruby中通过传递文件名和对象来使用Sass的compile_file
?
我不知道无礼,但一般而言,您需要可以使用的方法Sass::compile_file
的全名或要求模块到全局空间:require 'sass'
试着这么做
require 'rubygems'
require 'sass'
puts 'methods available: ' + (Sass.methods.sort - Object.methods).inspect
Sass.compile_file
我不能为Sass做正确的事情,因为当我运行你的代码时,我没有看到compile_file作为一种方法。 – jaysonp
有什么方法可用?运行'gem list'来找出你正在使用的Sass版本,并确保它不是很古老。您还可以查看gem本身的源代码,它应该位于您的机器上的gems目录中。 –
安装使用require '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
:
Using Sass in Ruby code is very simple. After installing the Sass gem, you can use it by running require "sass" and using Sass::Engine.
#!/usr/bin/ruby
require 'sass'
sass_engine = Sass::Engine.for_file('./colors.scss', :syntax => :scss)
output = sass_engine.render
puts output
当我做萨斯:: compile_file我得到**未初始化的不断萨斯**当我做需要“顶嘴”我得到**没有这样的文件加载 - 青菜** – jaysonp