【问题标题】:programatically invoking Sass::Exec::SassConvert generates wrong syntax以编程方式调用 Sass::Exec::Sass Convert 生成错误的语法
【发布时间】:2013-10-22 02:05:55
【问题描述】:
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 文件。 除了错误的语法问题外,一切正常。

这里有什么我遗漏的吗?

【问题讨论】:

  • banner= 是您的应用程序的一部分吗?
  • 不,这实际上是 SassConvert 类中 set_opts 方法的第一行。

标签: ruby sass


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2020-06-06
    • 2014-06-06
    • 2016-06-02
    相关资源
    最近更新 更多