Article de reference

CommonJS

CommonJS est un projet visant à standardiser l' écosystème des modules pour JavaScript en dehors des navigateurs web (par exemple sur les serveurs web ou les applications de bur...

des modules pour JavaScript en dehors des navigateurs web (par exemple sur les serveurs web ou les applications de bureau natives ).

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).

de Mozilla Kevin Dangoor en janvier 2009 et s'appelait initialement ServerJS .

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 :

Actuel

Modules/Définition asynchrone
  • Modules/LoaderPlugin
  • Modules/Ressources
  • Modules/SimpleAsynchronous
  • Modules/Transport/B,C,D,E
  • Modules/Enveloppes
  • Dépendances explicites des modules/wrappings
  • Paquets/1.1
  • Packages/Définition asynchrone
  • Paquets/Mappages/A,B,C,D
  • Promesses/B,D
  • Tests unitaires/B,1.0,1.0.1
  • Mises en œuvre

    CouchDB
  • Flusspferd
  • GPSEE
  • Jetpack
  • Plateforme intelligente Joyent
  • JSBuild
  • MongoDB
  • Narval (plateforme JavaScript)
  • Node.js (partiel ; synchrone)
  • Persévérer
  • Chargeur JavaScript PINF
  • SproutCore
  • TeaJS
  • Wakanda
  • XULJet
  • QUnit