Node.js's Plan für ES6 (ECMAScript 2015) Modulunterstützung
Frage:
Node.js verlässt sich derzeit auf CommonJS-Syntax zum Laden von Modulen, sodass Entwickler nur begrenzte Möglichkeiten zur Verwendung des ECMAScript 2015-Modulstandards haben. Wird Node.js jemals ECMAScript 2015-Module übernehmen?
Antwort:
Ja, Node.js arbeitet aktiv an der Unterstützung von ECMAScript 2015-Modulen. Die Implementierung wurde jedoch als experimentell markiert und sollte in Produktionsumgebungen mit Vorsicht verwendet werden.
Node.js-Supportfortschritt:
-
Node .js 13.2.0 und höher: ES-Module werden jetzt ohne Flag unterstützt, die Implementierung ist jedoch noch vorhanden experimentell.
-
Node.js 13.1.0 und niedriger: Der ESM-Modullader kann verwendet werden, um produktionsbereite ES-Modulunterstützung in älteren Node.js-Versionen bereitzustellen.
Umsetzung Details:
- Node.js implementiert die Modulerkennung basierend auf dem Feld package.type in package.json.
- Die Dateierweiterung .cjs kann für den gezielten Import verwendet werden CommonJS-Module im Modul Modus.
*Zeitleiste:
-
April 2019: Eine PR wurde eingeführt, um die Modulerkennung und das Lastverhalten zu verbessern.
-
Januar 2019: Node.js 11.6.0 listete ES-Module als experimentell auf und erforderte zum Aktivieren ein Flag.
-
September 2017: Node.js 8.5.0 führte Unterstützung für .mjs-Dateien hinter einem Flag ein, das entfernt werden soll die Flagge in der LTS-Version v10.0.
-
September 2017:Erste Unterstützung für ESM-Module wurde zum Node.js-Master-Zweig hinzugefügt, aktiviert durch die Flagge --experimental-modules.
-
Februar 2017:Node.js gab dies bekannt Absicht, die Dateierweiterung .mjs für ES6-Module zu verwenden.
-
Oktober 2016: Ein Node.js-Entwickler erläuterte die Hindernisse bei der Implementierung von ES6-Modulen in Node.js, einschließlich der Unterschiede zwischen statischen und evaluierten Modulen und der Schwierigkeit, Modultypen zu erkennen.
Fazit:
Node.js ist bestrebt, die ECMAScript 2015-Modulunterstützung zu implementieren, aber das genaue Der Zeitplan und die Implementierungsdetails befinden sich noch in der Entwicklung. Entwickler können den Entwicklungsfortschritt verfolgen und in der Zwischenzeit experimentelle Funktionen oder externe Modullader für die ES-Modulunterstützung nutzen.
Das obige ist der detaillierte Inhalt vonWird Node.js jemals ES6-Module übernehmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!