đą 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:
- Extra Special Modules - Myles Borins, Google
- Keynote: The Future of JavaScript is Universal - Myles Borins, Developer Advocate, Google
- ES Modules in Node.js - Gil Tayar
- Testing EcmaScript Modules - David Mark Clements
Articles en lien avec ESM
- FR [DĂ©butant] ESM et CJS - le match
- Get Ready For ESM - Sindresorhus
- Pure ESM package - Sindresorhus
- đ Using ES Modules (ESM) in Node.js: A Practical Guide (Part 1
âŹ ïž đą Node.js: đ Debugging & Profiling | âĄïž đą Node.js: WebSocket