Рейтинг:0

Подчеркивание JS не загружается

флаг yt

Я пишу код, который использует Underscore JS в Drupal 9, который должен быть загружен из /core/assets/vendor/underscore.

Я использую Chrome DevTools для просмотра исходников, и хотя jquery, jquery-once и модернизатор загружаются из /core/assets/vendor/, библиотека подчеркивания — нет.

Я почти уверен, что это работало на прошлой неделе. С тех пор я обновил свой код, но это то же самое использование подчеркивания. Я делаю это в Drupal 8, и это работает наверняка.

Я очищал кеш несколько раз. Я проверил, что файлы для подчеркивания находятся в моей файловой системе.

Спасибо, Джош

Kevin avatar
флаг in
Вы должны загрузить библиотеку, которая зависит от этого. Если нет, не имеет значения, существуют ли файлы, они не будут загружаться, если они не вызываются или не зависят от определений библиотеки.
Рейтинг:0
флаг yt

Поскольку в моем случае библиотека не загружалась темой, мне нужно было изменить форму, а затем загрузить библиотеку. Вы можете использовать что-то вроде этого:

    //Загружаем JS
    $form['#attached']['library'][] = 'core/underscore';
    $form['#attached']['библиотека'][] = 
           'мой_модуль/мои_формы.js';
}

Если вы добавляете свою собственную библиотеку, вам нужно будет определить это в my_module.libraries.yml. Что-то вроде этого:

мой_модуль.js:
  js:
    js/my_forms.js: {}
  зависимости:
    - ядро/JQuery
    - ядро/подчеркивание 

Надеюсь это поможет.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.