[英]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.