Skip to content

Wrappers

Cette page est le hub des wrappers. Utilisez-la pour choisir le bon package, puis ouvrez la page dediee pour les details d'installation et d'utilisation.

Dossier source : https://github.com/tsparticles/tsparticles/tree/main/wrappers

Pages wrappers

Les plus utilises

Ecosysteme React

Ecosysteme Vue

Autres (ordre alphabetique)

Flux d'integration commun

Quel que soit le framework :

  1. installer le wrapper + @tsparticles/engine
  2. charger les fonctionnalités une fois (@tsparticles/slim, @tsparticles/all, ou des plugins personnalises)
  3. afficher le composant wrapper avec vos options

Wrappers officiels (ordre alphabetique)

Regle d'ordre pour cette section :

Notes WordPress et Elementor

Mapping wrappers vers demos

Utilisez cette matrice rapide pour passer d'un package wrapper a une demo monorepo executable.

Regle d'ordre pour ce tableau :

  • ordre alphabetique par nom de package wrapper
  • exception explicite pour les wrappers non applicables aux demos (@tsparticles/wordpress)

Dossier source des demos : https://github.com/tsparticles/tsparticles/tree/main/demo

Package wrapperProjet demo
@tsparticles/angulardemo/angular
@tsparticles/astrodemo/astro
@tsparticles/emberdemo/ember
@tsparticles/infernodemo/inferno
@tsparticles/jquerydemo/jquery
@tsparticles/litdemo/lit
@tsparticles/nextjsdemo/nextjs, demo/nextjs-legacy
@tsparticles/nuxt2demo/nuxt2
@tsparticles/nuxt3demo/nuxt3
@tsparticles/nuxt4demo/nuxt4
@tsparticles/preactdemo/preact
@tsparticles/qwikdemo/qwik
@tsparticles/reactdemo/react
@tsparticles/riotdemo/riot
@tsparticles/soliddemo/solid
@tsparticles/sveltedemo/svelte, demo/svelte-kit
@tsparticles/vue2demo/vue2
@tsparticles/vue3demo/vue3
@tsparticles/webcomponentsdemo/webcomponents
@tsparticles/wordpressnon applicable (installation WordPress complete)
angular-confettidemo/angular
angular-fireworksdemo/angular

Patterns minimaux

Provider style React / Next.js

tsx
import Particles, { ParticlesProvider } from "@tsparticles/react";
import type { Engine } from "@tsparticles/engine";
import { loadSlim } from "@tsparticles/slim";

const init = async (engine: Engine): Promise<void> => {
  await loadSlim(engine);
};

export function Background() {
  return (
    <ParticlesProvider init={init}>
      <Particles id="tsparticles" options={{ particles: { move: { enable: true } } }} />
    </ParticlesProvider>
  );
}

Fonction d'enregistrement style Vue / Nuxt

ts
import type { Engine } from "@tsparticles/engine";

export async function registerParticles(engine: Engine): Promise<void> {
  const [{ loadSlim }] = await Promise.all([import("@tsparticles/slim")]);

  await loadSlim(engine);
}

Initialisation unique Angular

ts
import { NgParticlesService } from "@tsparticles/angular";
import { loadSlim } from "@tsparticles/slim";

constructor(private readonly particlesService: NgParticlesService) {}

ngOnInit(): void {
  void this.particlesService.init(async engine => {
    await loadSlim(engine);
  });
}

Pages liees