扩展 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

在代码中您可以看到,Function、declare 指定了函数的参数名称。如果失败,即使函数正在工作,它也不会接受任何参数,并且它还接受任意关键字参数。您可以使用value访问器获取 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继承导入器。

广告