Установка через bower

Featherlight распространяется как обычный фронтенд-пакет и может быть подключён через менеджер зависимостей Bower. Такой способ характерен для проектов, использующих классическую клиентскую архитектуру с jQuery и статической раздачей ресурсов.

Требования и зависимости

Featherlight не является автономной библиотекой и требует наличия jQuery. Совместимость обеспечивается с версиями jQuery, начиная с 1.7 и выше. При установке через Bower зависимость от jQuery автоматически фиксируется в метаданных пакета.

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

Установка пакета

Установка выполняется одной командой из корня проекта:

bower install featherlight --save

После выполнения команды в каталоге bower_components появится папка featherlight, содержащая следующие ключевые файлы:

  • dist/featherlight.min.js — минифицированный JavaScript
  • dist/featherlight.min.css — стили по умолчанию
  • dist/featherlight.js — неминифицированная версия для отладки

Флаг --save добавляет библиотеку в файл bower.json, что позволяет зафиксировать зависимость для командной сборки и других разработчиков.

Структура записи в bower.json

После установки в bower.json появляется секция:

{
  "dependencies": {
    "featherlight": "^1.7.14"
  }
}

Версия может отличаться в зависимости от актуального релиза на момент установки. Использование семантического диапазона (^) допускает автоматическое обновление минорных и патч-версий.

Подключение файлов в проекте

Featherlight не выполняет автоподключение. Все необходимые файлы подключаются вручную в HTML:

<link rel="stylesheet" href="bower_components/featherlight/dist/featherlight.min.css">

<script src="bower_components/jquery/dist/jquery.min.js"></script>
<script src="bower_components/featherlight/dist/featherlight.min.js"></script>

Порядок подключения критичен:

  1. jQuery
  2. Featherlight

Нарушение этого порядка приводит к ошибке инициализации плагина.

Использование с системами сборки

При использовании сборщиков (Grunt, Gulp, Webpack) файлы Featherlight обычно копируются или включаются в общий бандл:

  • CSS подключается через конкатенацию или импорт
  • JS включается после jQuery в итоговый скрипт

Типовой сценарий — копирование dist-файлов в публичный каталог (public, assets, static) на этапе сборки.

Особенности путей и относительных ресурсов

Featherlight не использует внешние изображения или шрифты, поэтому не требует дополнительной настройки путей. Все стили содержатся в одном CSS-файле и не ссылаются на внешние ассеты.

Это упрощает перенос библиотеки между проектами и снижает риск ошибок при деплое.

Обновление версии

Обновление выполняется стандартной командой:

bower update featherlight

После обновления рекомендуется проверить:

  • отсутствие конфликтов с кастомными стилями
  • корректность работы модальных окон
  • совместимость с используемой версией jQuery

Featherlight отличается стабильным API, поэтому минорные обновления редко требуют изменений в коде проекта.

Типичные проблемы при установке через Bower

Отсутствие jQuery в сборке Даже при наличии jQuery в bower_components библиотека может не работать, если файл не подключён в HTML или исключён из сборки.

Конфликт версий jQuery При наличии нескольких зависимостей, требующих разные версии jQuery, Bower может выбрать неочевидный вариант. В таких случаях используется секция resolutions в bower.json.

Использование устаревшей инфраструктуры Bower считается устаревшим инструментом, но остаётся актуальным для поддержки legacy-проектов. Featherlight полностью совместим с такими окружениями и не требует современных сборщиков.

Минимальная проверка установки

Корректность установки можно определить по отсутствию ошибок в консоли и доступности глобальной функции:

$.featherlight

Наличие этой функции означает, что библиотека загружена и готова к использованию.