gpt4 book ai didi

ruby - 来自 Ruby 的 compass ——未找到 SassCompiler

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:47 25 4
gpt4 key购买 nike

我有一个使用 Compass 编译 *.scss 文件的小 ruby​​ 脚本,因为 Compass 和 Sass 是基于 ruby​​ 的,所以我只是像这样直接使用编译器(基于 this SO question ):

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 方法接受一些选项 ( source ),这些选项被移交给编译器,但是使用 Compass.add_configuration 如上所述相同的工作。

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

编辑

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

require 'compass'
require 'compass/sass_compiler'

Compass.add_configuration({
:project_path => _(),
:output_style => :expanded,
:cache_path => '<path to cache>',
:http_fonts_path => '../fonts',
:fonts_dir => '<relative path to fonts>',
:sass_path => '<path to the scss files>',
:css_path => '<path fot the compiled css>',
:http_images_path => '../img',
:images_path => '<path to images>'
},'custom-name')

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

compiler = Compass.sass_compiler({
:only_sass_files => [
'<path to scss file to compile>'
]})
compiler.compile!

要获得所有可能选项的概述,我建议查看源代码以及 sass 和 compass 的官方文档。

关于ruby - 来自 Ruby 的 compass ——未找到 SassCompiler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25399962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com