Dynamic Import
JavaScript 🟡 MidDéfinition
import() est une expression qui renvoie une promesse du module : chargement conditionnel et découpage du code à l'exécution. Le second argument accepte des attributs d'import (ES2025) : import('./data.json', { with: { type: 'json' } }). Pour différer seulement l'évaluation (et non le chargement), la proposition « import defer » (Stage 3) est supportée par TypeScript 5.9 et Deno 2.8.
Analogie
Commander un plat a la carte au lieu du menu complet : tu ne charges que ce dont tu as besoin, quand tu en as besoin.
Exemple de code
const chargerGraphe = async () => {
const { Chart } = await import('./chart.js');
return new Chart(data);
};
// Attribut d'import (ES2025) : JSON en module
const { default: conf } = await import('./conf.json', {
with: { type: 'json' }
});
if (user.isAdmin) {
const { AdminPanel } = await import('./admin.js');
}
Cas d'usage
Code splitting dans les SPA, chargement lazy de routes/composants lourds, chargement conditionnel.
Termes liés
Sources
Fiche mise à jour le 2026-09-27