Skip to the content.

🐱 Node.js

Modules (CJS & ESM)

En Node.js il existe deux façons de gérer des modules:

ESM est le nouveau standard intĂ©grĂ© depuis ECMAScript 6 pour la gestion des modules. NĂ©anmoins historiquement Node.js utilise CJS depuis le dĂ©but et Ă  l’époque il y a eu beaucoup de soucis sur la spĂ©cification d’ESM (ce qui a rendu complexe l’implĂ©mentation dans l’écosystĂšme Node js).

const { foo } = require("mymodule");

exports.foo = function boo() {
    return foo();
}

Avec CJS il est nĂ©cessaire d’utiliser la function require() et des mots-clĂ©s comme module.exports alors qu’en ESM il vous sera possible d’utiliser les mots-clĂ©s import et export.

import { foo } from "mymodule";

export function boo() {
    return foo();
}

Le support d’ESM sur Node.js devient de plus en plus stable et il n’est donc pas Ă©tonnant que cela deviennent le systĂšme de modules utilisĂ© par dĂ©faut dans un futur proche.

Je vous recommande d’écouter les talks suivant pour mieux comprendre le sujet:

Articles en lien avec ESM


âŹ…ïž 🐱 Node.js: 🔍 Debugging & Profiling | âžĄïž 🐱 Node.js: WebSocket