扩展Sass

您可以扩展SASS的功能,为用户提供不同类型的功能和自定义.要使用这些功能,用户应该具备Ruby知识.

定义自定义SASS函数

使用Ruby时可以定义自己的SASS函数API.您可以通过将自定义函数添加到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,green blue 访问颜色对象.

缓存存储

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 继承导入器.