Featherlight — компактная библиотека для реализации lightbox-окон,
написанная на JavaScript и зависящая от jQuery. Установка через npm
предполагает, что в проекте уже настроена среда сборки: используется
Node.js, инициализирован package.json, а зависимости
управляются через npm или совместимый менеджер (yarn, pnpm).
Минимальные требования:
Featherlight распространяется через npm под именем
featherlight. Установка выполняется стандартным
образом:
npm install featherlight
После установки в node_modules появится пакет со
следующей структурой (упрощённо):
node_modules/
└── featherlight/
├── release/
│ ├── featherlight.min.js
│ ├── featherlight.min.css
│ └── featherlight.gallery.min.js
├── src/
├── README.md
└── package.json
Основной интерес для использования в браузере представляет каталог
release, содержащий готовые минифицированные файлы
JavaScript и CSS.
Featherlight не включает jQuery в свои зависимости, поэтому его необходимо установить отдельно:
npm install jquery
В package.json зависимости будут выглядеть примерно
так:
{
"dependencies": {
"jquery": "^3.7.1",
"featherlight": "^1.7.14"
}
}
Порядок подключения критичен: jQuery должен быть загружен до Featherlight.
При использовании модульной сборки Featherlight можно подключать напрямую в коде:
import $ from 'jquery';
import 'featherlight';
import 'featherlight/release/featherlight.min.css';
После импорта библиотека регистрирует себя как jQuery-плагин и
становится доступной через $.featherlight и
jQuery-методы.
Важно учитывать, что Featherlight ожидает глобальный объект
jQuery. В некоторых сборщиках может потребоваться явное
связывание:
import $ from 'jquery';
window.$ = window.jQuery = $;
Только после этого следует импортировать Featherlight.
Дополнительный модуль галереи подключается отдельно:
import 'featherlight/release/featherlight.gallery.min.js';
CSS для галереи входит в основной файл стилей и не требует отдельного импорта.
В проектах без полноценной сборки файлы Featherlight могут
подключаться напрямую из node_modules, например, через
<script> и <link>:
<link rel="stylesheet" href="node_modules/featherlight/release/featherlight.min.css">
<script src="node_modules/jquery/dist/jquery.min.js"></script>
<script src="node_modules/featherlight/release/featherlight.min.js"></script>
Такой подход допустим для учебных и внутренних проектов, но в production-среде обычно используется копирование файлов в каталог сборки или автоматизация через bundler.
После подключения Featherlight доступен как jQuery-плагин. Базовый признак корректной установки — наличие функции:
typeof $.featherlight === 'function'
При успешной загрузке CSS стили lightbox применяются автоматически, без дополнительной инициализации.
Featherlight использует семантическое версионирование. Обновление пакета выполняется стандартной командой:
npm update featherlight
При обновлении следует учитывать:
Для фиксации конкретной версии рекомендуется явно указывать её в
package.json.
Отсутствие jQuery в глобальной области видимости
Featherlight не работает, если jQuery не доступен
глобально. Решается явным присваиванием window.jQuery.
CSS не применяется Причина — не подключён или не
обработан файл featherlight.min.css. В сборщиках необходимо
убедиться, что загрузка CSS поддерживается конфигурацией.
Конфликт версий jQuery Одновременное использование
нескольких копий jQuery может привести к отсутствию плагина в ожидаемом
экземпляре $.
Установка через npm удобна для:
Featherlight, несмотря на небольшой размер и простоту, корректно вписывается в npm-экосистему и может использоваться как в минимальных проектах, так и в составе сложных frontend-приложений.