Как использовать версию jQuery, отличную от версии по умолчанию, используемой ядром?


12

Мне нужно использовать другую версию JQuery. В настоящее время Drupal использует jQuery 3.2.1, но мне нужна предыдущая версия.

В Drupal 7 вы можете легко изменить версию jQuery с помощью модуля jQuery Update . Как я могу добиться того же с Drupal 8?


Модуль jquery_update был предназначен для повышения версии jQuery в то время, потому что основная версия почти никогда не обновлялась в зависимости от темпа jQuery. Вы можете попробовать метод переопределения, описанный здесь: drupal.org/node/2497313 - имейте в виду, что другие модули core / contrib, использующие jQuery, могут сломаться в 8.4.x, используя более старую версию jQuery.
Кевин

Вот аналогичный вопрос с использованием подхода переопределения / расширения: drupal.stackexchange.com/q/200418/57
Кевин

См. Раздел «Переопределение и расширение библиотек» здесь: drupal.org/docs/8/theming-drupal-8/…
Кевин,

Ответы:


15

Добавьте свою собственную библиотеку jQuery в mytheme.libraries.yml:

jquery-custom:
  remote: https://github.com/jquery/jquery
  version: "2.2.4"
  license:
    name: MIT
    url: https://github.com/jquery/jquery/blob/2.2.4/LICENSE.txt
    gpl-compatible: true
  js:
    js/jquery-2.2.4.min.js: { minified: true, weight: -20 }

Затем переопределите базовую библиотеку jQuery в вашем mytheme.info.yml:

libraries-override:
  # Replace an entire library.
  core/jquery: mytheme/jquery-custom

Это только отчасти работает для меня. Когда я перезаписываю ядро ​​/ jquery (даже с той же версией jQuery), я получаю целую загрузку .once () - это не ошибка функции где-то в drupal.
Джеффри Ван Алстайн
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.