2017-03-09 42 views
0

當爲Drupal開發模塊或主題時,我們可能需要爲我們的項目包含一個外部CSS或Javascript插件或庫。
在Drupal 8中使用庫添加和管理樣式表(CSS)文件的標準方法是什麼?

Drupal的資產管理是一個有點複雜,使我困惑,我讀
Adding stylesheets (CSS) and JavaScript (JS) to a Drupal 8 theme
Adding stylesheets (CSS) and JavaScript (JS) to a Drupal 8 module
但它並不能解釋清楚,並有關於它的一些問題呢。

如何處理這些庫和樣式表添加到網頁?他們是否按照SMACSS類別(基礎,佈局,組件,狀態,主題)的順序添加?
例如,考慮以下結構:
ThemeName.libraries.yml

library-A: 
    css: 
    # The SMACSS category. 
    base: 
     # The path to the css file. 
     assets/css/stylesheets-1.css: {} 
    theme: 
     assets/css/stylesheets-2.css: {} 

library-B: 
    css: 
    base: 
     # The path to the css file. 
     assets/css/stylesheets-3.css: {} 
    theme: 
     assets/css/stylesheets-4.css {} 

在文庫A或B(各自單獨):我應該如何定義類別?首先應該來Theme,然後base或反向?什麼是標準?

在完全庫-A和B:他們的女巫先裝?庫-A或B?什麼是正確的?

回答

1

for 1:更多信息here,基本上主題會覆蓋基地,雖然權重是倒置的;現在是一個準則不是RULLE所以這真的取決於你在寫什麼

2:這真的取決於你加載它們在哪裏以及如何,

前加載庫它倒序:

  • 在主題

    庫:

    • 'mytheme的/庫-B' //替換子彈以 「 - 」
    • 'mytheme的/庫-A' //替換爲子彈 「 - 」
  • 在模板

    {{attach_library( 'mytheme的/庫-B')}} {{attach_library( 'mytheme的/庫-A')}}

  • 在模塊

    $類型[ '元件'] [ '#附'] [ '庫'] [] =「mytheme的/庫-B'; $ types ['element'] ['#attached'] ['library'] [] ='mytheme/library-A';

+0

非常感謝您的幫助;) –

相關問題