2
Sass::Exec::SassConvert.new(["{path_to_scss_file}.scss", "{path_to_css_file_to_generate}.css"]).process_result

当我从 ruby​​ 脚本中运行以下命令时,生成的文件包含“sass”-syntax 而不是有效的 css 当我尝试添加 set_opts 命令来指定“-F scss -T css”时,只是为了确保转换器知道怎么办,它会抛出一个错误:

NoMethodError: undefined method `banner=' for ["-F scss -T css"]:Array

目标是从 ant 构建脚本中将 scss 文件编译为 css 文件。除了错误的语法问题外,一切正常。

我在这里有什么遗漏吗?

4

1 回答 1

1

我重写了脚本以使用Sass::Engine而不是SassConvert.

在查看了 SassConvert 类的代码后,以下片段为我指出了解决方案:

unless [:scss, :sass].include?(@options[:to])
    raise "Unknown format for sass-convert --to: #{name}"
end

SassConvert 类似乎只将 CSS 文件转换为 .scss 或 .sass,而不是相反。

此外,在调用时添加选项标志的正确方法Sass::Exec::SassConvert是执行以下操作:

sassConvert = Sass::Exec::SassConvert.new(["-F scss", "-T sass", "{path_to_from_file}", "{path_to_file_to_generate}"]
sassConvert.parse!
sassConvert.process_result
于 2012-08-07T14:56:33.057 回答