Dynamic Import

JavaScript 🟡 Mid

Dé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.

#core#performance#modules#ES2025

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre