用途:面向 Drupal 主题与模块的前端 JavaScript 开发,规范客户端行为、资源库声明、Twig 挂载、JS 读取服务端配置,以及扩展自定义 AJAX 命令。
主要能力:
- 资源库定义:在 *.libraries.yml 中声明 JS、CSS 与依赖,如 core/drupal、core/jquery、core/once。
- 行为模式:以 Drupal.behaviors 定义 attach/detach,配合 once 避免元素被重复处理。
- Twig 挂载:模板中用 {{ attach_library('my_module/my-behavior') }} 引入库。
- drupalSettings:在 attach 的 settings 参数中读取服务端注入的配置值。
- AJAX 命令:PHP 端用 AjaxResponse 添加 ReplaceCommand、HtmlCommand、InvokeCommand 等;也可通过 Drupal.AjaxCommands.prototype 注册新命令,并配合实现 CommandInterface 的 PHP 类返回对应 command 名称与数据。
适用场景:需要为 Drupal 站点添加交互行为、DOM 局部替换、动态通知等前端效果,或定义新的 AJAX 命令类型。注意自定义命令模式用于定义新命令类型,而非普通表单 AJAX 回调。具体版本兼容性、安装与运行步骤暂未提供。