0Pricing
JavaScript Academy · Leçon

Notions de base de CommonJS — require/module.exports et exports

Découvrez CommonJS : require(), module.exports, le raccourci exports et un aperçu de l’interopérabilité avec ESM

Notions de base de CommonJS — require/module.exports et exports est une leçon JavaScript Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage JavaScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours JavaScript Academy comprend 3 leçons au total.

CJS : vue d’ensemble

Objectif : lire et écrire de petits modules CommonJS.

  • require() charge des modules
  • module.exports est l’objet exporté
  • exports est un raccourci vers ce même objet
  • Bref aperçu de l’interopérabilité avec ESM
Notions de base de CommonJS — require/module.exports et exports — illustration 1

require() — principe

require(path) renvoie l’objet exporté par le module en CommonJS.

// CommonJS import uses require()
const cjsExample = [
  "const math = require(\\"./math.js\\");",
  "console.log(math.sum(2, 3));"
];

console.log("require() example:");
for (const line of cjsExample) console.log(line);

// Emulate a loaded module object
const loaded = { sum: function (a, b) { return a + b; } };
console.log("emulated require sum:", loaded.sum(2, 3));
Notions de base de CommonJS — require/module.exports et exports — illustration 2

module.exports

Affectez une valeur à module.exports pour l’exporter (fonction, objet, etc.).

// module.exports sets what the module returns
const lines1 = [
  "function greet(name) { return \\"Hi \\" + name; }",
  "module.exports = greet;"
];

console.log("module.exports example:");
for (const l of lines1) console.log(l);

// Emulate consumption
function greet(name) { return "Hi " + name; }
const api1 = greet; // like module.exports = greet
console.log("use exported fn:", api1("Ayla"));
Notions de base de CommonJS — require/module.exports et exports — illustration 3

Raccourci exports

exports.prop = ... convient ; ne réaffectez pas exports = ..., car il ne pointe alors plus vers module.exports.

// exports is a shortcut to module.exports (same object)
const lines2 = [
  "// Good: add properties",
  "exports.sum = function (a, b) { return a + b; };",
  "",
  "// Pitfall: reassigning exports breaks the link",
  "exports = function () {}; // WRONG"
];

console.log("exports shortcut:");
for (const l of lines2) console.log(l);

// Emulate good usage
const moduleObj = {};
const exportsRef = moduleObj;  // like exports === module.exports initially
exportsRef.sum = function (a, b) { return a + b; };
console.log("sum via exportsRef:", moduleObj.sum(2, 4));
Notions de base de CommonJS — require/module.exports et exports — illustration 4

Exports multiples

Vous pouvez exporter un objet contenant de nombreuses fonctions et les lire via leurs propriétés.

// Export an object with multiple members
const lines3 = [
  "function add(a, b) { return a + b; }",
  "function mul(a, b) { return a * b; }",
  "module.exports = { add, mul };"
];

console.log("multiple exports object:");
for (const l of lines3) console.log(l);

// Emulate consumption
const api2 = {
  add: function (a, b) { return a + b; },
  mul: function (a, b) { return a * b; }
};
console.log("use add/mul:", api2.add(1, 2), api2.mul(2, 3));
Notions de base de CommonJS — require/module.exports et exports — illustration 5

Aperçu d’ESM ↔ CJS

Interopérabilité (aperçu) :

  • Un ESM qui importe un CJS reçoit souvent le module.exports du CJS comme export par défaut.
  • Exemple : import pkg from "./cjs.js", puis utilisez pkg.add().
  • Gardez les exemples simples ; évitez de mélanger les styles dans un même fichier sauf nécessité.
Notions de base de CommonJS — require/module.exports et exports — illustration 6

Quiz sur la syntaxe d’export CJS

Vérification rapide : exporter en CommonJS.

Notions de base de CommonJS — require/module.exports et exports — illustration 7

Récapitulatif

Récapitulatif : chargez avec require(), exportez avec module.exports, ajoutez des propriétés via exports.prop et évitez de réaffecter exports. L’interopérabilité ESM associe souvent le module.exports CJS à un export par défaut.

Notions de base de CommonJS — require/module.exports et exports — illustration 8

Questions Fréquemment Posées

La leçon « Notions de base de CommonJS — require/module.exports et exports » est-elle gratuite ?

Oui — le texte complet de « Notions de base de CommonJS — require/module.exports et exports » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours JavaScript Academy, passe à CoddyKit PRO. Le cours JavaScript Academy comprend 3 leçons au total.

Qu'est-ce que j'apprendrai dans « Notions de base de CommonJS — require/module.exports et exports » ?

Découvrez CommonJS : require(), module.exports, le raccourci exports et un aperçu de l’interopérabilité avec ESM Tu pratiques JavaScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer JavaScript Academy ?

Aucune expérience préalable n'est requise. JavaScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.

Combien de temps prend la leçon « Notions de base de CommonJS — require/module.exports et exports » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon JavaScript Academy ?

Oui. Chaque leçon JavaScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Notions de base d’ESM — import/export, exportation par défaut ou nommée
  2. Notions de base de CommonJS — require/module.exports et exports
  3. Résolution des modules dans Node et les outils de regroupement du navigateur
← Retour à JavaScript Academy