Многие любят устанавливать js-библиотеки в /libraries используя composer. Я, если честно, не видел особого смысла прописывать кучу конфигов для каждой библиотеки в composer.json, потому что друпаловские модули чаще всего используют устаревшие библиотеки (blazy, slick, colorbox и тд), которые уже давно не обновляются. Мне было проще добавить эти библиотеки сразу в git-репозиторий и не думать о них.
Плюсы этого метода: скачал, закоммитил, готово
Минусы этого метода: библиотеки хранятся в git-репозитории
Но недавно @filinkov.ru подсказал удобный способ установки библиотек через composer
Устанавливаем пакет drupal-libraries-installer
composer req zodiacmedia/drupal-libraries-installer
После чего в секцию extra файла composer.json нужно добавить
где первый параметр - это будет имя папки в /libraries (друпаловские модули часто просят другое название, чем у автора библиотеки), а второй - это путь к архиву для скачивания
Теперь composer сам скачает архивы с библиотеками и распакует их в /libraries
У пакета drupal-libraries-installer есть и расширенные настройки. Ознакомиться с ними можно на странице пакета на гитхабе
Плюсы этого метода: библиотеки НЕ хранятся в git-репозитории
Минусы этого метода: их нет, я думаю
Комментарии
bower-asset получше будет
Минусы этого метода: скорее всего либа не будет обновляться, если ручками не прописать новый путь к архиву.
Я был бы не очень рад, если бы либы обновлялись без моего ведома. Поэтому вариант с указанием архива очень даже норм
Почему же без твоего ведома? Всё же настраивается - хочешь залочь версию, хочешь выставь как надо. Да и обновляя ты же видишь весь процесс
Там была предыстория, что либа очень старинная и её нет ни в bower-asset, ни в npm-asset. Для таких случаев вполне годный способ, только это стоит указать в тексте.
А во всех остальных случаях и bower-asset, и npm-asset лучше указанного способа, т.к. там достаточно один раз настроить проект, после чего все либы будут ставиться через composer require без необходимости ручной правки composer.json
А как этим способом установить библиотеку этого модуля?
https://www.drupal.org/project/elevate_image_zoom
Там один файл, а не архив.
Так не получается:
"elevatezoom": "https://raw.githubusercontent.com/elevateweb/elevatezoom/master/jquery.elevatezoom.js"
}