Skip to content

Latest commit

 

History

History
49 lines (33 loc) · 2.21 KB

10-modules.md

File metadata and controls

49 lines (33 loc) · 2.21 KB

🐢 Node.js

Modules (CJS & ESM)

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

  • CJS pour Common JavaScript
  • ESM pour ECMAScript 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