在为Drupal开发模块或主题时,不可避免地会有我们可能需要为我们的项目包含外部CSS或JavaScript插件或库。
Drupal Assets Management有点复杂,让我感到困惑,我读到
将StyleSheets(CSS)和JavaScript(JS)添加到Drupal 8主题中,
添加样式表(CSS)和JavaScript(JS)(JS)一个drupal 8模块,
,但并没有清楚地解释这一点,还有一些问题。
如何将这些库和样式表添加到网页中?它们是否按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 {}
在Library-A或B中(每个单独):我应该如何定义类别?首先应该是Theme
,然后是base
还是反向?什么是标准?
在完全库中 - A和B :首先加载它们的女巫?图书馆 - A还是B?哪些是正确的?
for 1:更多信息在这里,尽管权重倒置,但基本上主题将覆盖基础;现在,这是一个指导方针,而不是鲁尔,所以这确实取决于您在写什么
for 2:这确实取决于加载它们的位置和方式,
ex加载库的倒数顺序:
-
主题
库:
- 'Mytheme/Library-B'//用" - " 替换子弹
- 'Mytheme/Library-A'//用" - " 替换子弹
-
在模板中
{{attact_library('mytheme/library-b')}}}{{attach_library('Mytheme/Library-a')}}}
-
在模块中
$ types ['element'] ['#附件'] ['library'] [] ='mytheme/library-b';美元