La spécification CommonJS, qui décrit le fonctionnement des modules, est aujourd'hui largement utilisée pour le JavaScript côté serveur avec Node.js. Elle est également utilisée pour le JavaScript côté navigateur, mais ce code doit être compilé avec un transpileur , car les navigateurs ne prennent pas en charge CommonJS. L'autre spécification majeure de modules utilisée est celle des modules ECMAScript (ES) (modules ES6, également appelés modules ES2015). CommonJS se reconnaît à l'utilisation des require()fonctions `and` et `or` module.exports, tandis que les modules ES utilisent les instructions ` importand` et export`or` pour des fonctionnalités similaires (mais non identiques).
Ce que je décris ici n'est pas un problème technique. Il s'agit de personnes qui se réunissent et décident de passer à l'action pour construire ensemble quelque chose de plus grand et de plus intéressant.
— Kevin Dangoor
En août 2009, le projet a été renommé CommonJS afin de refléter la plus grande applicabilité des API . Les spécifications sont créées et approuvées selon un processus ouvert. Une spécification n'est considérée comme définitive qu'après avoir été implémentée à plusieurs reprises. CommonJS n'est pas affilié au groupe TC39 d'ECMA International qui travaille sur ECMAScript , mais certains membres de ce groupe participent au projet.
Caractéristiques
La liste des spécifications comprend :