擴充套件 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繼承匯入器。

廣告

© . All rights reserved.