CommonJS

CommonJS ist ein Projekt mit dem Ziel, Konventionen über die zu ermitteln Modul Ökosystem für JavaScript außerhalb des Webbrowser. Der Hauptgrund für die Erstellung war ein wesentlicher Mangel an allgemein anerkannten Formen von JavaScript -Moduleinheiten, die in Umgebungen, die sich von den herkömmlichen Webbrowsern unterscheiden, die JavaScript -Skripte ausführen (z. Webserver oder native Desktop -Anwendungen).

Die Modulspezifikation von CommonJS wird heute häufig verwendet, insbesondere für die serverseitige JavaScript-Programmierung mit node.js.[1] Es wird auch für die Entwicklung des Browser-Seite-JavaScripts verwendet, aber der Code muss mit einem Transpiler verpackt werden, da Browser keine CommonJs unterstützen.[1] Die andere angewendete Hauptmodulspezifikation ist die ECMaskript (ES) Modulespezifikation (ES6 -Module, auch bekannt als ES2015 -Module).[2] CommonJs können durch die Verwendung der erkannt werden benötigen() Funktion und module.exports, während ES -Module verwenden importieren und Export Aussagen für ähnliche (wenn auch nicht identische) Funktionalität.

Geschichte

Das Projekt wurde von gestartet Mozilla Ingenieur Kevin Dangoor im Januar 2009 und ursprünglich ernannt Serverjs.[3]

Was ich hier beschreibe, ist kein technisches Problem. Es geht darum, dass Menschen zusammenkommen und sich entscheiden, vorwärts zu treten und zusammen etwas Größeres und Kühleres aufzubauen.

-Kevin Dangoor[3]

Im August 2009 wurde das Projekt umbenannt CommonJS Um die breitere Anwendbarkeit der zu zeigen Apis.[4] Die Spezifikationen werden in einem offenen Prozess erstellt und genehmigt. Eine Spezifikation wird nur berücksichtigt Finale Nachdem es durch mehrere Implementierungen beendet wurde.[5] CommonJs sind nicht mit dem verbunden ECMA International Gruppe TC39 arbeitet an ECMaskript, aber einige Mitglieder von TC39 nehmen an dem Projekt teil.[6]

Spezifikationen

Die Liste der Spezifikationen umfasst:[7]

Aktuell

  • Module/1.0 (ersetzt durch Module/1.1)
  • Module/1.1
  • Module/1.1.1
  • Pakete/1.0
  • System/1.0

Vorschläge

Die Vorschläge decken viel mehr als Module ab. Sie beabsichtigen, eine Reihe von APIs zu definieren, die sowohl für Nicht-Web-JavaScript-Implementierungen nützlich sind, mit standardisierten Paketnamen, um die Interoperabilität innerhalb des Ökosystems bereitzustellen. Dieses Ziel überschneidet sich manchmal mit dem von TC39, und Teile wie Versprechungen haben es tatsächlich in ECMascript selbst geschafft.

Der Teil nach dem Schrägstrich ist die Version. Wenn ein Vorschlag in Streitigkeiten ist, wird jedem einzelnen Vorschlag (einschließlich sequentieller Überarbeitungen desselben Autors) ein neues Brief zugewiesen. Wenn die Hauptrichtung bekannt ist, wird ihnen numerische Versionen zugewiesen.

  • Binär/b, f
  • Konsole (portiert aus dem Web)
  • Codings/a, c
  • Codings/a
  • Http client/b
  • Io/a
  • Dateisystem/a, a/0
  • Module/Async/a
  • Module/AsynchronousDefinition
  • Module/Loaderplugin
  • Module/Ressourcen
  • Module/SimpleAsynchronous
  • Module/Transport/B, C, D, e
  • Module/Verpackungen
  • Module/Verpackungen-explizite Abhängigkeiten
  • Pakete/1.1
  • Pakete/AsynchronousDefinition
  • Pakete/Zuordnungen/a, b, c, d
  • Versprechen/B, D.
  • Einheitstest/B, 1.0,1.0.1

Implementierungen

Siehe auch

Verweise

  1. ^ a b Eric Elliott (26. Juni 2014). Programmieren von JavaScript -Anwendungen: Robuste Webarchitektur mit Node, HTML5 und modernen JS -Bibliotheken. "O'Reilly Media, Inc.". S. 87–. ISBN 978-1-4919-5027-2.
  2. ^ Mario Casciaro; Luciano Mammino (29. Juli 2020). Node.JS-Designmuster: Entwerfen und Implementieren von Produktionsgrad-Node.js-Anwendungen unter Verwendung von bewährten Mustern und Techniken, 3. Auflage. Packt Publishing. p. 62. ISBN 978-1-83921-044-0.
  3. ^ a b "Welcher Serverseite JavaScript braucht ·". www.blueskyonmars.com. Abgerufen 2021-08-05.
  4. ^ "CommonJS: JavaScript Standard Library". www.commonjs.org. Abgerufen 2021-08-05.
  5. ^ "VorschlagProzess - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  6. ^ "CommonJS: Das erste Jahr ·". www.blueskyonmars.com. Abgerufen 2021-08-05.
  7. ^ "JavaScript Standard Library". Commonjs. Archiviert vom Original am 2014-05-28. Abgerufen 2014-05-28.{{}}: CS1 Wartung: Ungeeignete URL (Link)
  8. ^ "OLEGP/Common-Node @ Github". Olegp.github.io. Abgerufen 2021-08-05.
  9. ^ "CommonJS Compiler - macht Ihre gemeinsamen JS -Module für den In -Browser -Gebrauch geeignet.". dsheiko.github.io. Abgerufen 2021-08-05.
  10. ^ "Github - Drbenton/CommonJSForPhp: Eine einfache Implementierung von CommonJS -Spezifikationen für PHP 5.3+". GitHub. Abgerufen 2021-08-05.
  11. ^ "Implementierungen/CouchDB - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  12. ^ "Flusspferd - CommonJS -Plattform | JavaScript -Bindungen für C".
  13. ^ "Implementierungen/GPSEE - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  14. ^ "Implementierungen/Smart - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  15. ^ "Homepage - Jsbuild". Archiviert von das Original Am 4. Januar 2011.
  16. ^ "Die beliebteste Datenbank für moderne Apps". MongoDB. Abgerufen 2021-08-05.
  17. ^ "Implementierungen/Narwhal - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  18. ^ "Implementierungen/node.js - CommonJS spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  19. ^ "Implementierungen/Persevere - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  20. ^ "Github - Pinf/Loader -Js: Frühe Erkundung". GitHub. Abgerufen 2021-08-05.
  21. ^ "Implementierungen/Ringojs - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  22. ^ "SilkJS www Site". Archiviert von das Original Am 2017-09-12. Abgerufen 2012-10-19.
  23. ^ "Implementierungen/Sproutcore - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  24. ^ "Implementierungen/Tejs - CommonJS Spec Wiki". Wiki.Commonjs.org. Abgerufen 2021-08-05.
  25. ^ SAS, Wakanda. "Wakanda Fullstack Javascript -Plattform". Wakanda Fullstack JavaScript -Plattform. Abgerufen 2021-08-05.
  26. ^ "Google Code Archiv - Langzeitspeicher für Google Code -Projekthosting". code.google.com. Abgerufen 2021-08-05.

Externe Links