Skip to Content
BootstrapPartie 10 — Le JavaScript de Bootstrap10.3 — Bundle, plugins & Popper

10.3 — Bundle, plugins & Popper

⏱️ TL;DR — Trois façons de charger le JS : le bundle (bootstrap.bundle.js, tout + Popper), le fichier séparé (bootstrap.js, sans Popper), ou des imports ES ciblés (import { Modal } from 'bootstrap') pour le tree-shaking. Popper est requis par dropdown, tooltip, popover.

🎯 Objectifs

  • Choisir le bon mode de chargement.
  • N’importer que les plugins utiles.
  • Savoir quels composants dépendent de Popper.

Les trois modes

<!-- 1. Bundle : tout + Popper (le plus simple) --> <script src=".../bootstrap.bundle.min.js"></script>
// 2. Import global (bundler) import * as bootstrap from 'bootstrap' // 3. Imports ciblés (tree-shaking → bundle plus léger) import { Modal } from 'bootstrap' import Dropdown from 'bootstrap/js/dist/dropdown'

Qui dépend de Popper ?

ComposantPopper requis ?
Dropdown
Tooltip
Popover
Modal, Offcanvas, Toast, Collapse, Tab, Carousel, ScrollSpy, Alert

Si vous n’utilisez aucun composant flottant, bootstrap.js (sans Popper) suffit et allège la page.

Import ciblé avec Popper

import Tooltip from 'bootstrap/js/dist/tooltip' // Popper est importé automatiquement par le module tooltip new Tooltip(document.querySelector('[data-bs-toggle="tooltip"]'))

La liste des plugins

Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip.

Où placer le script ?

Juste avant </body> (le DOM est prêt) ou avec defer dans le <head>. La Data API s’initialise automatiquement au chargement du DOM.

⚠️ Piège — Charger bootstrap.js (sans Popper) alors qu’on utilise des tooltips : ils ne s’affichent pas et une erreur Popper apparaît en console. En cas de doute, le bundle.

💡 Pour un dev React — Avec un bundler moderne, préférez les imports nommés (import { Modal } from 'bootstrap') : le tree-shaking élimine les plugins non utilisés. Mais rappelez-vous que le JS natif s’intègre mal au cycle de vie React — voir Partie 11.

✏️ Exercices

  1. Vous n’utilisez que des modales et des collapses. Quel fichier JS suffit ?

✅ Solution

bootstrap.js (sans Popper), car ni modal ni collapse n’en dépendent.

  1. Importer uniquement le plugin Dropdown dans un projet Vite.

✅ Solution

import Dropdown from 'bootstrap/js/dist/dropdown'.

🧠 Quiz de révision

1. Que contient le bundle de plus que bootstrap.js ?

Popper.

2. Trois composants qui nécessitent Popper ?

Dropdown, tooltip, popover.

3. Comment n’embarquer qu’un plugin ?

Import ES ciblé (import { Modal } from 'bootstrap').

4. Où placer la balise script ?

Avant </body> ou en defer.

5. La modale a-t-elle besoin de Popper ?

Non.


Chapitre suivant : 10.4 — Le monde sans jQuery