扩展 Sass


您可以扩展 SASS 的功能,为用户提供不同类型的功能和自定义。要使用这些功能,用户应该了解 Ruby。

定义自定义 SASS 函数

您可以在使用 Ruby API 时定义自己的 SASS 函数。您可以通过将自定义函数添加到 Ruby 方法来添加自定义函数,如以下代码所示 -

module Sass::Script::Functions
   def reverse(string)
      assert_type string, :String
      Sass::Script::Value::String.new(string.value.reverse)
   end
   declare :reverse, [:string]
end

在代码中您可以看到,函数声明指定了函数的参数名称。如果失败,那么即使该函数正在运行并且它也接受任意关键字参数,它也不会接受任何参数。您可以使用值访问器获取 Ruby 值,并使用rgb、red、greenblue访问颜色对象。

缓存存储

SASS存储已解析文档的缓存,可以重复使用而无需再次解析。SASS 使用:cache_location在文件系统上写入缓存文件。它使 SASS 文件的编译速度更快,如果删除缓存文件,下次编译时将再次生成它们。您可以通过设置:cache_store选项来定义自己的缓存存储。这将在文件系统上写入缓存文件或将缓存文件共享给 ruby​​ 进程或机器。SASS 使用Sass::CacheStores::Base子类的实例来存储和检索缓存结果。

定制进口商

SASS 使用@import导入SCSS 和SASS 文件,并将路径传递给@import规则,为指定路径查找合适的路径代码。SASS 导入器使用文件系统加载代码并使用数据库或不同的文件命名方案添加到加载中。

单个导入器可以加载单个文件,并且可以与文件系统的路径一起放置在:load_paths数组中。使用@import时,SASS 会查找加载的路径,该路径为导入器导入路径。找到路径后,将使用导入的文件。用户可以从Sass::Importers::Base继承导入器。