Depuis la naissance de Javascript, personne ne l'a jamais considéré comme un langage de programmation. À l'ère du Web 1.0, ce langage de script était principalement utilisé pour la validation de formulaires et les effets spéciaux de pages Web. Ce n'est qu'à l'ère du Web 2.0, lorsque les ingénieurs front-end l'ont utilisé pour améliorer considérablement l'expérience utilisateur sur les pages Web, que JS a été largement apprécié. À mesure que JS devient de plus en plus populaire, il a subi des modifications dans les bibliothèques d'outils, les bibliothèques de composants, les frameworks frontaux et les applications frontales. Javascript manque intrinsèquement d'une fonctionnalité : les modules, et l'émergence de la spécification CommonJS compense cette lacune. Cet article présentera la spécification CommonJS et le mécanisme de module de Node.
Parmi d'autres langages de haut niveau, Java a des fichiers de classe, Python a un mécanisme d'importation et PHP a include et require. La façon dont JS introduit le code via la balise