在为Drupal开发模块或主题时,我们可能需要为我们的项目包含一个外部CSS或Javascript插件或库。
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?各自是对的?
答案 0 :(得分:1)
for 1:more info here,虽然权重被反转,但基本上主题会覆盖基数;现在这是一个指南,而不是一个争论,所以它真的取决于你在写什么
for 2:它实际上取决于你加载它们的位置和方式,
ex以按顺序加载库:
库:
{{attach_library('mytheme / library-B')}} {{attach_library('mytheme / library-A')}}
$ types ['element'] ['#attached'] ['library'] [] ='mytheme / library-B'; $ types ['element'] ['#adlated'] ['library'] [] ='mytheme / library-A';