Для работы с GSAP в современных проектах на JavaScript оптимально использовать пакетный менеджер npm. Это позволяет интегрировать библиотеку в сборщики модулей, такие как Webpack, Parcel или Vite.
npm install gsap
После установки можно импортировать основные функции и объекты библиотеки:
import gsap from "gsap";
Если требуется использование конкретного плагина, его можно импортировать отдельно:
import { ScrollTrigger } from "gsap/ScrollTrigger";
Для быстрых прототипов или небольших проектов можно использовать CDN. В этом случае скрипт подключается напрямую в HTML:
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/gsap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.2/dist/ScrollTrigger.min.js"></script>
После подключения плагины также нужно регистрировать, чтобы их можно было использовать.
Некоторые плагины GSAP не активны по умолчанию и требуют явной
регистрации. Для этого используется метод
gsap.registerPlugin().
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
gsap.registerPlugin(ScrollTrigger);
Ключевые моменты регистрации:
ScrollTrigger,
Draggable, SplitText, не активны без
регистрации.registerPlugin принимает один или несколько
плагинов через запятую.Пример регистрации нескольких плагинов:
import { ScrollTrigger, Draggable } from "gsap/all";
gsap.registerPlugin(ScrollTrigger, Draggable);
ESM (модули) При использовании сборщиков модулей рекомендуется импортировать только те плагины, которые необходимы, для уменьшения размера бандла.
import gsap from "gsap";
import { MotionPathPlugin } from "gsap/MotionPathPlugin";
gsap.registerPlugin(MotionPathPlugin);Vanilla JS через глобальный объект При
подключении через CDN, плагины автоматически добавляются в глобальный
объект gsap, но все равно требуют регистрации:
gsap.registerPlugin(ScrollTrigger);После регистрации можно проверить доступность плагина через консоль:
console.log(gsap.plugins.ScrollTrigger); // Должно вывести объект плагина
Если вывод undefined, регистрация не прошла или плагин
не был подключен.
DrawSVGPlugin), необходимо указывать лицензионный токен
перед регистрацией.GSAP предоставляет возможность импортировать весь набор плагинов
через пакет gsap/all, однако это увеличивает размер
финального бандла. Используется в проектах, где важна простота
прототипирования, а не оптимизация:
import gsap from "gsap";
import * as AllPlugins from "gsap/all";
gsap.registerPlugin(...Object.values(AllPlugins));
При работе с TypeScript рекомендуется устанавливать типы:
npm install --save-dev @types/gsap
После чего можно безопасно использовать плагины с автодополнением и проверкой типов:
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
gsap.registerPlugin(ScrollTrigger);
gsap.to(".box", {
x: 300,
scrollTrigger: ".box"
});
Регистрация плагинов обеспечивает их корректную работу с методами анимации и событиями, предотвращает ошибки при обращении к функционалу, который изначально отключен.