Node.js
Thème :
Junior
3 vues ·5/12 leçons

ECMAScript Modules (ESM)

ESM est le standard officiel de JavaScript pour la gestion des modules, introduit avec ES6. Node.js le supporte nativement.

Caractéristiques de ESM

  1. Syntaxe statique : Utilisation des mots-clés import et export.
  2. Analyse statique : Permet aux outils de bundling (Vite, Webpack) d’effectuer du tree shaking (suppression du code inutilisé).
  3. Chargement asynchrone : Le chargement des modules peut être optimisé par le moteur.
  4. Mode strict par défaut : Les modules ESM sont automatiquement en mode strict.

Configuration requise

Pour utiliser ESM dans Node.js, vous devez :

  • Utiliser l’extension .mjs.
  • OU définir "type": "module" dans votre package.json.
{
    "type": "module",
    "main": "index.js"
}

Exemple pratique

Fichier mathLib.mjs :

export const sum = (a, b) => a + b;
export const prod = (a, b) => a * b;

Fichier index.js :

import { sum, prod } from './mathLib.mjs';

const nbr1 = 2;
const nbr2 = 10;

console.log(`${nbr1} + ${nbr2} = ${sum(nbr1, nbr2)}`);
console.log(`${nbr1} x ${nbr2} = ${prod(nbr1, nbr2)}`);

Comparaison CommonJS vs ESM

  • CommonJS : require(), chargement synchrone, plus ancien, omniprésent.
  • ESM : import, standard du web, asynchrone possible, plus optimisé.

Prêt à passer à la suite ?

Vous avez terminé cette leçon sur ECMAScript Modules (ESM). Continuez votre apprentissage avec la prochaine leçon ou explorez d'autres formations.