📜  扩展Sass

📅  最后修改于: 2020-10-20 05:46:24             🧑  作者: Mango


您可以扩展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继承导入程序。