Библиотека lottie-web распространяется через npm и
устанавливается как стандартный пакет JavaScript-экосистемы. В
современных проектах она подключается как зависимость для сборщиков
вроде Vite, Webpack, Rollup или Parcel.
Установка выполняется командой:
npm install lottie-web
После установки пакет появляется в node_modules, а
запись добавляется в package.json:
{
"dependencies": {
"lottie-web": "^5.x.x"
}
}
lottie-web поставляется в виде готового
JavaScript-модуля без необходимости дополнительной сборки. Это позволяет
использовать библиотеку сразу после установки.
В проектах, использующих Yarn как менеджер пакетов, подключение выполняется аналогичным образом:
yarn add lottie-web
После выполнения команды зависимость фиксируется в
package.json:
{
"dependencies": {
"lottie-web": "^5.x.x"
}
}
Yarn автоматически загружает пакет и размещает его в
node_modules, сохраняя lock-файл (yarn.lock)
для детерминированной установки в разных окружениях.
Современные сборщики поддерживают ES Modules-импорт, который является
основным способом использования lottie-web в
приложениях.
Базовый импорт:
import lottie from "lottie-web";
После импорта становится доступен основной API библиотеки, включая методы управления анимациями, загрузки JSON и привязки к DOM-элементам.
Пример инициализации:
import lottie from "lottie-web";
const animation = lottie.loadAnimation({
container: document.getElementById("animation"),
renderer: "svg",
loop: true,
autoplay: true,
path: "/animations/example.json"
});
В средах, где используется CommonJS (например, Node.js-проекты без
ESM), применяется require:
const lottie = require("lottie-web");
Дальнейшее использование API не отличается от ES Modules-версии, поскольку экспорт библиотеки совместим с обеими системами модулей.
В проектах на Vite библиотека подключается без дополнительной конфигурации:
import lottie from "lottie-web";
Vite обрабатывает зависимости через ESM, поэтому
lottie-web интегрируется напрямую.
В Webpack использование аналогичное, однако при необходимости может потребоваться настройка для обработки JSON-анимаций:
import lottie from "lottie-web";
Загрузка JSON-файлов анимаций обеспечивается через
file-loader или встроенные asset modules:
module.exports = {
module: {
rules: [
{
test: /\.json$/,
type: "asset/resource"
}
]
}
};
В Rollup подключение также выполняется через стандартный импорт ES Modules:
import lottie from "lottie-web";
При необходимости применяется плагин
@rollup/plugin-node-resolve для корректного разрешения
зависимостей из node_modules.
Библиотека lottie-web включает собственные типы, однако
в некоторых окружениях требуется установка дополнительных
деклараций:
npm install --save-dev @types/lottie-web
После установки типизация становится доступной:
import lottie, { AnimationItem } from "lottie-web";
const animation: AnimationItem = lottie.loadAnimation({
container: document.getElementById("animation") as Element,
renderer: "svg",
loop: true,
autoplay: true,
path: "/animations/example.json"
});
Тип AnimationItem описывает экземпляр анимации и
предоставляет доступ к методам управления воспроизведением, остановкой и
обновлением состояния.
После установки в node_modules/lottie-web содержится
несколько ключевых компонентов:
build/player/lottie.js или
аналогичный)Пакет оптимизирован для работы в браузере и не требует серверной среды.
Основной сценарий использования предполагает импорт через модульную систему и последующую сборку:
import lottie from "lottie-web";
Библиотека не предназначена для полноценного серверного рендеринга, однако может использоваться в SSR-окружениях для подготовки конфигураций анимации без DOM.
const lottie = require("lottie-web");
После установки пакет не включает анимации по умолчанию. JSON-файлы
создаются в инструментах вроде Adobe After Effects с плагином Bodymovin
и затем подключаются через path или
animationData.
Пример загрузки локального JSON:
import lottie from "lottie-web";
import animationData from "./animation.json";
lottie.loadAnimation({
container: document.querySelector("#animation"),
renderer: "svg",
loop: true,
autoplay: true,
animationData
});
При таком подходе JSON включается в бандл сборщиком.
В некоторых конфигурациях возникают ошибки, связанные с резолвингом модулей:
Корректная установка через npm или yarn с использованием актуальных версий сборщиков устраняет большинство подобных проблем.
lottie-web поддерживает современные браузеры с ES5+
окружением. При использовании через npm/yarn важно учитывать версию
пакета:
Обновление выполняется стандартной командой менеджера пакетов:
npm update lottie-web
или
yarn upgrade lottie-web