ScrollMagic — это библиотека для управления анимациями при скролле страницы, предоставляющая гибкий API для создания интерактивных эффектов. Установка через пакетный менеджер Yarn позволяет легко интегрировать библиотеку в современные проекты на JavaScript, обеспечивая удобное управление зависимостями и обновлениями.
Перед установкой необходимо убедиться, что проект инициализирован как
Node.js проект с файлом package.json. Если
проект ещё не инициализирован, выполняется команда:
yarn init -y
Эта команда создаёт базовый package.json с минимальными
настройками. Он необходим для того, чтобы Yarn мог корректно управлять
пакетами и их зависимостями.
Для добавления ScrollMagic используется команда:
yarn add scrollmagic
Эта команда автоматически скачивает последнюю стабильную версию
библиотеки и добавляет её в зависимости проекта
(dependencies). После установки в package.json
появится запись:
"dependencies": {
"scrollmagic": "^2.0.8"
}
Версия может отличаться в зависимости от момента установки.
В современных проектах с использованием модулей ES6 подключение
ScrollMagic производится через import:
import ScrollMagic from "scrollmagic";
Если используется CommonJS (например, в Node.js без сборщика),
подключение выполняется через require:
const ScrollMagic = require("scrollmagic");
Важно: библиотека поставляется без встроенных анимационных плагинов (например, GSAP), поэтому для использования анимаций их необходимо подключать отдельно.
Для расширенных анимаций ScrollMagic часто комбинируют с GSAP. Установка GSAP через Yarn:
yarn add gsap
После установки можно создавать сцены с анимациями, используя синтаксис:
import { gsap } from "gsap";
import ScrollMagic from "scrollmagic";
// Создание контроллера
const controller = new ScrollMagic.Controller();
// Создание анимации
const tween = gsap.to("#element", { duration: 1, x: 300 });
// Привязка анимации к сцене ScrollMagic
const scene = new ScrollMagic.Scene({
triggerElement: "#trigger",
duration: 500
})
.setTween(tween)
.addTo(controller);
Ключевые моменты:
ScrollMagic.Controller() — контроллер, управляющий
всеми сценами.ScrollMagic.Scene() — отдельная сцена, определяющая
триггер и длительность анимации.setTween() — связывает сцену с анимацией GSAP.addTo(controller) — добавляет сцену в контроллер для
управления скроллом.ScrollMagic имеет несколько вспомогательных плагинов и аддонов:
Установка через Yarn:
yarn add scrollmagic-plugin-gsap scrollmagic-plugin-indicators
Подключение выполняется аналогично основной библиотеке:
import "scrollmagic-plugin-gsap";
import "scrollmagic-plugin-indicators";
После подключения индикаторы можно включать в сценах для отладки:
scene.addIndicators({ name: "example scene" });
Yarn обеспечивает простое обновление ScrollMagic командой:
yarn upgrade scrollmagic
Для установки конкретной версии:
yarn add scrollmagic@2.0.7
Использование точной версии полезно для предотвращения ошибок при несовместимости с другими библиотеками, особенно при интеграции с GSAP или другими плагинами.
Установка через Yarn позволяет:
Следующий шаг после установки — создание контроллеров и сцен для реализации интерактивных эффектов на странице.