簡體   English   中英

如何在Rails SASS中動態導入文件?

[英]How to import file dynamically in Rails SASS?

是否可以動態加載SASS文件?

假設我在Rails Initializer BRAND聲明了一個全局常量。 我想要的是,導入具有在BRAND常量中指定的名稱的SASS文件。

我想要“ application.sass”中的@import BRAND類的東西。 請告訴我怎么可能。 謝謝

您可以對資產管道使用多個預處理器,從而在SASS處理器開始發揮作用之前使用ERB 為此,只需將.erb附加到要預處理的文件的文件名即可。 例如:

config / initializers / brand.rb:

BRAND = 'mybrand'

應用/資產/樣式表/_mybrand.css.scss:

$brand-color: steelblue;

應用/資產/樣式表/main.css.scss.erb:

@import '<%= BRAND %>';

body {
  background: $brand-color;
}

編輯

順便說一句,如資產管道上的Rails指南所建議,在使用SASS時,您不應使用Sprockets的require指令:

如果要使用多個Sass文件,通常應使用Sass @import規則而不是這些Sprockets指令。 使用Sprockets指令,所有Sass文件都存在於它們自己的范圍內,從而使變量或混合僅在定義它們的文檔中可用。

您可以在(haml)布局文件中執行以下操作:

= stylesheet_link_tag BRAND, :media => 'all'

(如果使用的是ERB,則使用額外的<%%>)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM