Skip to content

Руководство по bundle

tsParticles модульна. Пакет @tsparticles/engine содержит только ядро; чтобы получить видимые эффекты, необходимо зарегистрировать формы (что рисовать), обновления (как анимировать), взаимодействия (как реагировать на мышь/тач) и плагины (дополнительные функции). Всё это делается через bundle.

Категории bundle

КатегорияBundleAPI
Движок + загрузчик@tsparticles/basic, @tsparticles/slim, tsparticles, @tsparticles/alltsParticles.load({ id, options })
Выделенное API@tsparticles/confetti, @tsparticles/fireworks, @tsparticles/particles, @tsparticles/ribbonsconfetti({...}), fireworks({...}) и т.д.

Полное сравнение возможностей

Легенда: ● = включено, ○ = не включено

Возможностьbasicslimfull (tsparticles)all
Формы
Круг
Квадрат
Звезда
Полигон
Линия
Изображение
Эмодзи
Текст
Карты (масти)
Сердце
Стрелка
Скруглённый прямоугольник
Скруглённый полигон
Спираль
Squircle
Cog
Бесконечность
Матрица
Путь
Лента
Внешние взаимодействия (мышь/тач)
Attract
Bounce
Bubble
Connect
Destroy
Grab
Parallax
Pause
Push
Remove
Repulse
Slow
Drag
Trail
Cannon
Particle
Pop
Light
Взаимодействия частиц
Связи (links)
Коллизии
Attract
Repulse
Обновления (анимации)
Прозрачность
Размер
Out modes
Paint (цвет)
Вращение
Жизнь
Destroy
Roll
Tilt
Twinkle
Wobble
Градиент
Orbit
Плагины
Move
Blend
Эмиттеры
Абсорберы
Звуки
Motion (предпочтения пользователя)
Темы
Полигональная маска
Canvas-маска
Маска фона
Экспорт (изображение, json, видео)
Ручные частицы
Responsive
Trail
Zoom
Poisson disc
Пути
Любой путь● (14 генераторов)
Эффекты
Bubble, Filter, Shadow и т.д.● (5 эффектов)
Easing
Quad
Back, Bounce, Circ, Cubic, Elastic, Expo, Gaussian, Linear, Quart, Quint, Sigmoid, Sine, Smoothstep
Цветовые плагины
HEX, HSL, RGB
HSV, HWB, LAB, LCH, Named, OKLAB, OKLCH

Bundle с выделенным API

Возможностьconfettifireworksparticlesribbons
Формыкруг, сердце, карты, эмодзи, изображение, полигон, квадрат, звездалиния(из basic)лента
Взаимодействиясвязи + коллизии
Специальные плагиныэмиттеры, motionэмиттеры, звуки, blendэмиттеры, motion
Вызов APIconfetti(opts)fireworks(opts)particles(opts)ribbons(opts)

Руководство по выбору

mermaid
flowchart TD
    A[Нужно начать быстро?] -->|Да| B[Использовать пресет?]
    A -->|Нет| C[Какой размер bundle?]
    B -->|Да| D["@tsparticles/configs + @tsparticles/slim"]
    B -->|Нет| E["Конфетти? → @tsparticles/confetti"]
    B -->|Нет| F["Фейерверки? → @tsparticles/fireworks"]
    B -->|Нет| G["Фон-частицы? → @tsparticles/particles"]
    B -->|Нет| H["Ленты? → @tsparticles/ribbons"]
    C -->|"Минимально (только круги)"| I["@tsparticles/basic"]
    C -->|"Средне (формы + взаимодействия)"| J["@tsparticles/slim"]
    C -->|"Максимально (все функции)"| K["tsparticles (loadFull)"]
    C -->|"Весь репозиторий"| L["@tsparticles/all"]

Правила выбора:

  1. Большинство проектов начинают с @tsparticles/slim.
  2. Если размер bundle критичен и нужны только круги: @tsparticles/basic.
  3. Если нужны эмиттеры, абсорберы, текст, wobble/tilt/roll: tsparticles с loadFull.
  4. Для быстрого прототипирования со всеми функциями: @tsparticles/all.
  5. Для целевых эффектов (конфетти, фейерверки, фон-частицы, ленты) с минимальной настройкой: bundle с выделенным API.

Быстрая установка

BundleКоманда npmФункция загрузкиCDN URL
@tsparticles/basicpnpm add @tsparticles/engine @tsparticles/basicloadBasic(tsParticles)@tsparticles/basic@4/tsparticles.basic.bundle.min.js
@tsparticles/slimpnpm add @tsparticles/engine @tsparticles/slimloadSlim(tsParticles)@tsparticles/slim@4/tsparticles.slim.bundle.min.js
tsparticles (full)pnpm add @tsparticles/engine tsparticlesloadFull(tsParticles)tsparticles@4/tsparticles.bundle.min.js
@tsparticles/allpnpm add @tsparticles/engine @tsparticles/allloadAll(tsParticles)@tsparticles/all@4/tsparticles.all.bundle.min.js
@tsparticles/confettipnpm add @tsparticles/confetticonfetti(opts)@tsparticles/confetti@4/tsparticles.confetti.bundle.min.js
@tsparticles/fireworkspnpm add @tsparticles/fireworksfireworks(opts)@tsparticles/fireworks@4/tsparticles.fireworks.bundle.min.js
@tsparticles/particlespnpm add @tsparticles/particlesparticles(opts)@tsparticles/particles@4/tsparticles.particles.bundle.min.js
@tsparticles/ribbonspnpm add @tsparticles/ribbonsribbons(opts)@tsparticles/ribbons@4/tsparticles.ribbons.bundle.min.js

Примечание: для basic/slim/full/all bundle необходимо вызвать load* перед tsParticles.load(). CDN-файлы выставляют функцию загрузки глобально, но не вызывают её автоматически. Bundle confetti/fireworks/particles/ribbons имеют самодостаточное API — вызывайте confetti(), fireworks() и т.д. напрямую.

CDN-пример для @tsparticles/slim:

html
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/engine@4/tsparticles.engine.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/slim@4/tsparticles.slim.bundle.min.js"></script>
<script>
  (async () => {
    await loadSlim(tsParticles);
    await tsParticles.load({ id: "tsparticles", options: { ... } });
  })();
</script>

CDN-пример для @tsparticles/confetti:

html
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/confetti@4/tsparticles.confetti.bundle.min.js"></script>
<script>
  confetti({ particleCount: 100 });
</script>

См. также руководство по установке для CDN, npm, yarn и подробностей о файлах.

Связанные страницы